我试图通过调用的JMX MBean JConsole的,但我打电话的方法收到需要放在JConsole的类路径为了工作的对象。如何将jar添加到jconsole classpath中?
我已经试过这和JConsole的不开放(以及没有显示任何错误):
jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;path_to_newjar_\newjar.jar
我试图通过调用的JMX MBean JConsole的,但我打电话的方法收到需要放在JConsole的类路径为了工作的对象。如何将jar添加到jconsole classpath中?
我已经试过这和JConsole的不开放(以及没有显示任何错误):
jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;path_to_newjar_\newjar.jar
采取jconsole.jar出-J类路径。它已经设置在jconsole启动器中。
=====更新=====
嗯....我收回我的建议。我有一个Windows批处理文件,我使用[它工作],它将JAR添加到类路径中。意图是将JMXMP JMX客户端添加到jconsole中,然后启动到指定的JMX服务URL的参数。它看起来像这样:
@echo off
start /B jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;MY-JAR-PATH\jmx-optional-1.0-b02-SNAPSHOT.jar service:jmx:jmxmp://localhost:%1
如果像这样的命令不起作用(即JConsole中仍不会推出,但不报错了两种),那么你需要弄清楚它停滞不前。这2点建议:
后回来,如果你得到什么(或者,如果你不....)如果你想访问本地&远程进程
感谢您的答复,但尚未。该命令仍然无效。 Jconsole没有打开,也没有显示错误。 – edubriguenti
嗨尼古拉斯,更新你的答案,以获得最佳回应。它仅适用于以下情况:jconsole -J-Djava.class.path =“C:\ Program Files \ Java \ jdk1.7.0_5 1 \ lib \ jconsole.jar”service:jmx:jmxmp:// localhost:% 1 – edubriguenti
尽管我的JAVA_HOME没问题,但它只适用于“。我认为这是因为单词 – edubriguenti
,上面的答案仍然缺少一个步骤。
从Java 8的Oracle文档:
如果JMX代理使用未包含在Java平台中的连接器,你需要将连接器类,当您运行JConsole的命令添加到类路径, 如下。
$ jconsole -J-Djava.class.path=JAVA_HOME/lib/jconsole.jar:JAVA_HOME/lib/tools.jar:connector-path
在上述命令,连接器路径是目录或包含未包括在JDK的连接器类,要由JConsole中使用的Java归档(JAR)文件。
在你的情况,然后,命令将是:
$ jconsole -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%JAVA_HOME%/lib/tools.jar:path_to_newjar_\newjar.jar
当你离开关JAVA_HOME/lib/tools.jar
,本地进程将不再可用。
尝试-J-cp -Jpath而不是-J-Djava.class。路径= ... – bmargulies
感谢您的答复。仍然没有,jconsole无法打开。 – edubriguenti
由于文档建议您的原始计划,我的评论是无益的,我不知道。 – bmargulies