Файл политики Java в качестве аргумента для Process Builder

Я использую простой способ реализовать пользовательский файл политики, который отлично работает при реализации через 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 Исключение выдается, но файл политики не реализован, где ошибка?

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);
Другие вопросы по тегам