我正在使用一种简单的方法来实现自定义策略文件,当通过cmd实现该文件时效果很好。
List < String > paramsExecute = new ArrayList < String > ();
paramsExecute.add("java");
paramsExecute.add("-cp");
paramsExecute.add(Path);
paramsExecute.add("dummy."+packageName);
paramsExecute.add("-Djava.security.manager");
paramsExecute.add("-Djava.security.policy=C:\\full\\path\\MyPolicyFile.policy");
ProcessBuilder builder = new ProcessBuilder(paramsExecute);
我检查了classPath.No抛出异常,但未实现策略文件,Bug在哪里?
最佳答案
主类名前面的参数由JVM解释。主类名称之后的参数传递给程序-JVM不会查看它们。
参数的此顺序应该起作用-请注意,所有选项都在主类名称之前:
List < String > paramsExecute = new ArrayList < String > ();
paramsExecute.add("java");
paramsExecute.add("-cp");
paramsExecute.add(Path);
paramsExecute.add("-Djava.security.manager");
paramsExecute.add("-Djava.security.policy=C:\\full\\path\\MyPolicyFile.policy");
paramsExecute.add("dummy."+packageName);