运行 jmx 控制台的 .bat 脚本:路径问题

.bat script for running jmx console: problems with paths

我一直在努力为 Windows 创建一个用于 运行 宁 JMX 控制台的 .bat 脚本。我已经设法用一些技巧来做到这一点,但我做的一定是错误的,经过大量调查和谷歌搜索以及许多试验后,我还没有找到解决方案。如果此问题重复,我很乐意将其删除。

这是我的原始脚本(试图翻译我为 Mac 和 Linux 准备的 运行ning 脚本)

%JAVA_HOME%\bin\jconsole.exe -J-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%JAVA_HOME%\lib\tools.jar;%MY_JCONSOLE_PATH%\opendmk_jmxremote_optional_jar-1.0-b01-ea.jar service:jmx:jmxmp://<host>:<port>

遇到过的问题:

这是我解决上述问题的工作版本:

set MY_PATH=%cd%

cd %JAVA_HOME%\bin

jconsole.exe -J-Djava.class.path=%JAVA_BIN%\jconsole.jar;%JAVA_BIN%\tools.jar;%MY_PATH%\opendmk_jmxremote_optional_jar-1.0-b01-ea.jar service:jmx:jmxmp://<host>:<port>

但它不是很干净,我只想知道我在做什么错误。我只想知道!

非常感谢!

有时你把一个问题搁置几天,然后用新的思路解决它...如果它对任何人有帮助,解决方案如下,

set MY_PATH=%cd%

"%JAVA_HOME%\bin\jconsole.exe" -J"-Djava.class.path=%JAVA_HOME%\lib\jconsole.jar;%JAVA_HOME%\lib\tools.jar;%MY_PATH%\opendmk_jmxremote_optional_jar-1.0-b01-ea.jar" service:jmx:jmxmp://<host>:<port>

问题似乎与目录 Program Files 上有一个 space 这一事实有关,但是双引号 " 不能放在任何地方(例如我试过将环境变量 JAVA_HOME 定义为 C:\"Program Files"\Java\jdk... 但这没有帮助。