假设我有一个如下配置文件来启动我的应用程序。我怎么能从应用程序内部知道-Dlog4j.configuration的值

jvmArg=-server
jvmArg=-Xms512m
jvmArg=-Xmx1024m
jvmArg=-Dcatalina.base=tomcat
jvmArg=-Dcatalina.home={tomcat_HOME}
jvmArg=-Dcatalina.config=file:cfg/catalina.properties
jvmArg=-Djava.util.logging.manager=org.apache.juli.ClassLoaderLogManager
jvmArg=-Djava.util.logging.config.file=cfg/logging.properties
javaMain=org.apache.catalina.startup.Bootstrap
javaMainArg=-config ../cfg/server.xml
javaMainArg=start
jvmArg=-Dlog.directory=log
jvmArg=-Dlog4j.configuration=file:/cfg/test/log4j.properties

最佳答案

使用System.getProperty()获取所有变量的映射。这仅适用于以-D开头的属性。

要获取所有JVM参数,您可以执行

RuntimeMXBean runtimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimemxBean.getInputArguments();

关于java - 如何从Java内部访问jvmArgs?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/7234580/

10-10 05:57