2011-08-29 14 views
2

アプリケーションを起動するために次のような設定ファイルがあるとします。どのように私は、アプリケーション内から知ることができ、たとえば、の値は、-Dlog4j.configurationJava内部からjvmArgsにアクセスするには?

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 

答えて

6

System.getProperty()を使用して、すべての変数のマップを取得します。これは、-Dで始まるプロパティに対してのみ機能します。

あなたは

RuntimeMXBean runtimemxBean = ManagementFactory.getRuntimeMXBean(); 
List<String> arguments = runtimemxBean.getInputArguments(); 
を行うことができ、すべてのJVM引数を取得するには
3

システムプロパティを設定し-Dlog4j.configuration、そのためので:System.getProperty("log4j.configuration")

関連する問題