Jolokia无法从tools.jar

时间:2019-07-16 19:15:32

标签: java monitoring jmx jolokia tools.jar

我正在尝试使用Jolokia代理连接到JMX应用程序。我正在使用进程PID来附加JVM代理,而我定位的进程已启用了JMX。

我正在使用启用Java热点的Java 1.8,并且正在使用与应用程序使用的--user相同的名称。没有为此服务设置密码。

该服务正在JRE上运行,我已经将tools.jar放入JRE的lib目录中。我不允许使用JDK。

在本地运行服务时,我正在使用以下标志进行监视:

-Dcom.sun.management.jmxremote
-Dcom.sun.management.jmxremote.authenticate=false
-Dcom.sun.management.jmxremote.local.only=false
-Dcom.sun.management.jmxremote.port=9114
-Dcom.sun.management.jmxremote.ssl=false

我正在使用以下命令运行Jolokia:

java -jar /etc/jolokia/jolokia-jvm-1.6.2-agent.jar --port=9114 --host=localhost --debug=true --user=<ServiceNameRemoved> start  30955 --verbose

但是当我运行此命令时,出现以下错误:

Cannot find classes from tools.jar. The heuristics for loading tools.jar which contains
essential classes for attaching to a running JVM could locate the necessary jar file.

Please call this launcher with a qualified classpath on the command line like

   java -cp path/to/tools.jar:jolokia-jvm-1.6.2-agent.jar org.jolokia.jvmagent.client.AgentLauncher [options] <command> <ppid>
 (command: start) : com.sun.tools.attach.VirtualMachine
java.lang.ClassNotFoundException: com.sun.tools.attach.VirtualMachine
    at java.net.URLClassLoader.findClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at java.lang.ClassLoader.loadClass(Unknown Source)
    at org.jolokia.jvmagent.client.util.ToolsClassFinder.lookupInToolsJar(ToolsClassFinder.java:83)
    at org.jolokia.jvmagent.client.util.ToolsClassFinder.lookupClass(ToolsClassFinder.java:54)
    at org.jolokia.jvmagent.client.util.VirtualMachineHandler.lookupVirtualMachineClass(VirtualMachineHandler.java:198)
    at org.jolokia.jvmagent.client.util.VirtualMachineHandler.attachVirtualMachine(VirtualMachineHandler.java:63)
    at org.jolokia.jvmagent.client.AgentLauncher.main(AgentLauncher.java:57)

0 个答案:

没有答案