这是在 Windows Jenkins Slaves 的背景下。从机在 SYSTEM 用户下运行,因此 maven 构建在 SYSTEM 用户下运行的 JVM 中运行。当此构建的行为异常时(例如需要很长时间),能够使用 jvisualvm 检查 JVM 会很有用,但是当 jvisualvm 作为人类用户运行时,JVM 的进程 ID 不会显示。
我知道有一种方法可以在实例化时将 JMX 端口不安全地暴露给 JVM,但由于构建是由 Jenkins 运行的,并且在这种特殊情况下,问题间歇性地发生,我宁愿不选择如果可能的话,这个选项