【问题标题】:Equinox Launcher ignores .ini file and vmargsEquinox Launcher 忽略 .ini 文件和 vmargs
【发布时间】:2015-10-12 13:08:56
【问题描述】:

我想用另一个 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

提前致谢!

【问题讨论】:

  • 当你说“忽略”时,它还会启动吗?那个 .ini 文件里有什么?
  • 是的,eclipse 正在启动,但是诸如语言之类的参数也没有设置 MaxHeapSize 等。

标签: java eclipse processbuilder equinox


【解决方案1】:

--launcher.xxxx 选项仅在您使用 Eclipse 启动器可执行文件启动 RCP(即 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");
...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2023-03-07
    • 2020-12-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-05-15
    • 2019-07-27
    相关资源
    最近更新 更多