我试图在 Windows 2008 中通过 java ProcessBuilder 启动 jmx 进程,当我设置 jvmOpts.add("-Dcom.sun.management.jmxremote.port=8999") 它显示的错误消息是
Error: Exception thrown by the agent : java.net.MalformedURLException: Local host name unknown: java.net.UnknownHostException: hostName : hostName
当我删除 jmdremote.port 它抛出的错误消息是
Error: Exception thrown by the agent : java.rmi.server.ExportException: Listen failed on port: 0; nested exception is:
java.net.SocketException: Unrecognized Windows Sockets error: 10106: create
My jmx options are
jvmOpts.add( "-Dcom.sun.management.jmxremote")
jvmOpts.add( "-Dcom.sun.management.jmxremote.authenticate=false" )
jvmOpts.add( "-Dcom.sun.management.jmxremote.ssl=false" )
jvmOpts.add( "-Dcom.sun.management.jmxremote.port=8999")
jvmOpts.add( "-Djava.rmi.server.hostname=hostName")
jvmOpts.add( "-Dcom.sun.management.jmxremote.local.only=false")
当我在不直接从命令行使用 java processBuilder 的情况下运行相同的程序时,它工作得非常好。当我在 Unix 中使用 ProcessBuilder 执行相同的程序时,程序运行良好。任何人都可以让我知道我在这里缺少什么。我是否需要将任何 Windows 环境变量加载到 ProcessBilder(因为它在命令行中工作正常)。提前致谢。