我想从另一个java程序中使用Equinox启动器启动eclipse。问题是启动器似乎忽略了我的 .ini 文件以及语言或 MaxPermSize 的设置。
我目前正在使用此代码:
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
提前致谢!
最佳答案
--launcher.xxxx
仅当您使用 Eclipse 启动程序可执行文件启动 RCP(即 eclipse
命令或类似命令)时,才会使用选项。
既然您正在调用 java
直接命令您将需要在命令行上指定所有内容。
java
的虚拟机参数命令应该在 -jar
之前选项并且您不使用 -vmargs
。所以:
list.add("java");
list.add("-XX:MaxPermSize=256m");
list.add("-jar");
list.add("path/to/org.eclipse.equinox.launcher_*.jar");
...
关于java - Equinox Launcher 忽略 .ini 文件和 vmargs,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33081977/