2015-10-12 2 views
0

Я хочу начать затмение с помощью пусковой установки равноденствия из другой программы Java. Проблема в том, что пусковая установка, похоже, игнорирует мой .ini-файл с настройками для языка или MaxPermSize.Equinox Launcher игнорирует файл .ini и vmargs

В настоящее время я использую этот код:

ArrayList<String> list = new ArrayList<String>(); 
    list.add("java"); 
    list.add("-jar"); 
    list.add("path/to/org.eclipse.equinox.launcher_*.jar"); 
    list.add("-data"); 
    list.add(workspaceLocation); 
    list.add("-configuration"); 
    list.add(configurationLocation); 
    //doesn't work 
    list.add("--launcher.ini"); 
    list.add("path/to/test.ini"); 
    //doesn't work as well 
    list.add("-vmargs"); 
    list.add("-XX:MaxPermSize=256m"); 
    try { 
     ProcessBuilder processBuilder = new ProcessBuilder(list); 
     Process debugProcess = processBuilder.start(); 
    } catch (IOException e) { 
     e.printStackTrace(); 
    } 

И файл .ini:

-vmargs 
-Xms256m 
-Xmx3072m 
-Dosgi.nl=en_US 
-XX:MaxPermSize=256m 

Спасибо заранее!

+0

Когда вы говорите «игнорировать», он все еще запускается? Что находится в этом файле .ini? – nitind

+0

Да, затмение запускается, но параметры, например, язык не задан также MaxHeapSize и т. Д. – mbauer

ответ

1

Параметры --launcher.xxxx используются только в том случае, если вы используете исполняемый файл запуска Eclipse для запуска RCP (то есть команды eclipse или аналогичной).

Поскольку вы вызываете команду java, вам необходимо указать все в командной строке.

Аргументы VM для команды java должны быть до опции -jar, и вы не используете -vmargs. Итак:

list.add("java"); 
list.add("-XX:MaxPermSize=256m"); 
list.add("-jar"); 
list.add("path/to/org.eclipse.equinox.launcher_*.jar"); 
... 
+0

Большое спасибо! ;) – mbauer