Java Policy文件作为Process Builder的参数

时间:2015-07-12 09:58:09

标签: java processbuilder policyfiles

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

1 个答案:

答案 0 :(得分: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);