0

我正在使用一种简单的方法来实现自定义策略文件,通过 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 Exception is throwed,但是策略文件没有实现,Bug在哪里?

4

1 回答 1

1

主类名之前的参数由 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);
于 2015-07-12T10:04:48.473 回答