我想从另一个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提前感谢!
发布于 2015-10-12 13:27:46
只有在使用Eclipse可执行文件启动RCP (即--launcher.xxxx命令或类似命令)时,才会使用eclipse选项。
由于直接调用java命令,因此需要在命令行中指定所有内容。
java命令的VM参数应该在-jar选项之前,并且不使用-vmargs。所以:
list.add("java");
list.add("-XX:MaxPermSize=256m");
list.add("-jar");
list.add("path/to/org.eclipse.equinox.launcher_*.jar");
...https://stackoverflow.com/questions/33081977
复制相似问题