我提出的一个解决方案是定义一组属性以传递给子进程,并创建-D< key> =< value>来自它的字符串.
static String[] properties_to_pass = {
"log4j.configuration"
};
以上是要传递的系统属性集.然后…
StringBuffer properties = new StringBuffer();
for ( String property : properties_to_pass ) {
String value = System.getProperty(property);
if ( value != null ) {
String r = String.format("-D%s=%s ", property, value);
properties.append( r );
}
}
经过上述……
String command_arg = properties.toString();
String command = String.format("java %s -jar Torpedo.jar", command_arg);
java.lang.Runtime.getRuntime.exec( command );
非常天真的解决方案,但无论如何都有效.但仍然不确定可能有更好的解决方案.欢迎任何进一步的评论.