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