2012-07-13 86 views
2

我試圖啓用遠程調試JMX的Minecraft服務器,但我似乎無法得到它的工作。但過程似乎正確啓動顯然JMX沒有在指定的端口上運行

java -Dcom.sun.management.jmxremote.port=3000 -jar craftbukkit.jar

,我還沒有安裝任何認證或任何東西:

我使用這個命令行啓動它。我刪除了所有的身份驗證選項,沒有任何更改。

然而,當我運行:返回

lsof | grep 3000netstat | grep 3000

沒有。任何想法爲什麼這不是正確地在端口上偵聽?

回答

2

添加-Djava.rmi.server.hostname = host ip。隨着

-Dcom.sun.management.jmxremote.authenticate=false 
-Dcom.sun.management.jmxremote.ssl=false 

另外這款-Djava.rmi.server.hostname = host ip軍隊RMI服務的,而不是使用127.0.0.1

0

除了已經設置的屬性之外,您還需要顯式禁用身份驗證(com.sun.management.jmxremote.authenticate = false)並禁用SSL(com.sun.management.jmxremote.ssl = false )。考慮到所有這些,下面是完整的命令行:

java -Dcom.sun.management.jmxremote.port=3000 -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -jar craftbukkit.jar

請注意,此配置被認爲是不安全的,因爲任何人誰都能猜到端口3000可以使一個JMX連接到你的機器,瀏覽的MBean屬性,運行MBean操作。如果你有興趣在一個安全的配置,這個文件有更多的細節:

http://docs.oracle.com/javase/1.5.0/docs/guide/management/agent.html

+0

主機IP我試過這個,我仍然得到什麼。 – Adam 2012-07-16 15:27:16