我工作的服务器上有一个 JBoss 实例,它具有以下命令行:
/usr/java/jdk1.6.0_31/bin/java -Dcom.sun.management.jmxremote -Dprogram.name=run.sh -server -Xms464m -Xmx464m -XX:MaxPermSize=128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInter val=3600000 -Dsun.net.inetaddr.ttl=0 -Dcom.sun.management.jmxremote -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ss l=false -Dcom.sun.management.jmxremote.port=20071 -Djava.endorsed.dirs=/opt/jboss/lib/endorsed -classpath/opt/jboss/bin/run.jar:/usr/java/jdk1.6.0_31/lib/tools.jar org.jboss.Main -P/opt/jboss/server/default/site-deploy/example.com/boot-1.properties -c 默认
我有几个问题:
1. 我知道 -D
选项设置命名属性,例如-Dsun.rmi.dgc.server.gcInterval=3600000
将属性 sun.rmi.dgc.server.gcInterval
设置为值 3600000
。没有等号的 -D
选项(例如 -Dcom.sun.management.jmxremote
)怎么样? com.sun.management.jmxremote
的值是什么?
2. 我找不到任何解释 -P
或 -c
选项功能的文档。 java -version
或 man java
都没有提到它们。我的猜测是 -P
表示“从指定文件加载属性”。我不知道 -c
是做什么的。
3. token org.jboss.Main
似乎不是前面的 -classpath
选项的一部分。它是 Java 告诉它调用的类的名称吗? java Foo
如何调用名为 Foo
的类?
最佳答案
/usr/java/jdk1.6.0_31/bin/java -Dcom.sun.management.jmxremote -Dprogram.name=run.sh -server -Xms464m -Xmx464m -XX:MaxPermSize=128m -Dsun.rmi.dgc.client.gcInterval=3600000 -Dsun.rmi.dgc.server.gcInterval=3600000 -Dsun.net.inetaddr.ttl=0 -Dcom.sun.management.jmxremote -Djavax.management.builder.initial=org.jboss.system.server.jmx.MBeanServerBuilderImpl -Djboss.platform.mbeanserver -Dcom.sun.management.jmxremote.authenticate=false -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.port=20071 -Djava.endorsed.dirs=/opt/jboss/lib/endorsed -classpath /opt/jboss/bin/run.jar:/usr/java/jdk1.6.0_31/lib/tools.jar org.jboss.Main -P /opt/jboss/server/default/site-deploy/example.com/boot-1.properties -c default
1 没有值的系统属性表示系统属性存在,并且值为空字符串""
2 这些是 jboss Main 类的命令行参数
3 该类来自其中一个 jar,打开 run.jar
并验证
关于java - 未记录的 Java 命令行选项?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24638864/