如何从Java内部访问jvmArgs?

Jam*_*sev 2 java tomcat

假设我有一个像下面这样的配置文件来启动我的应用程序.我如何从应用程序内部了解,比如说,-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
Run Code Online (Sandbox Code Playgroud)

Ami*_*far 6

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

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

RuntimeMXBean runtimemxBean = ManagementFactory.getRuntimeMXBean();
List<String> arguments = runtimemxBean.getInputArguments();
Run Code Online (Sandbox Code Playgroud)