【问题标题】:eclipse.ini not detecting jvm on Mac OSeclipse.ini 未在 Mac OS 上检测到 jvm
【发布时间】:2019-02-26 08:14:48
【问题描述】:

我有一个基于 v4.4.0 的自定义 Eclipse IDE。我的 Mac OS (EI Capitan v10.11) 中没有预装任何 java。我在要开始日食的位置有一个 jre(1.8.0_20)。所以,我去用 vm args 编辑 eclipse.ini 文件

-vm 
/Users/abbas/Desktop/jre1.8.0_20.jre/Contents/Home/bin/java

这是在 -vmargs 参数之前

-startup
../../../plugins/org.eclipse.equinox.launcher_1.3.0.v20140415-2008.jar
--launcher.library
../../../plugins/org.eclipse.equinox.launcher.cocoa.macosx.x86_64_1.1.200.v20140603-1326
-product
com.myos.ide.package.commercial.product
--launcher.defaultAction
openFile
-vm
/Users/abbas/Desktop/jre1.8.0_20.jre/Contents/Home/bin/java
-vmargs
-Dosgi.requiredJavaVersion=1.8
-Xms40m
-Xmx512m
-XstartOnFirstThread
-Dorg.eclipse.swt.internal.carbon.smallFonts
-XX:MaxPermSize=256m

现在,当我尝试通过单击 .app 文件启动它时,仍然会弹出窗口

"To open “WebOSIDE” you need to install the legacy Java SE 6 runtime."

我已经验证了上面路径中的java可以正常工作

/Users/abbas/Desktop/jre1.8.0_20.jre/Contents/Home/bin/java -version java version "1.8.0_25" Java(TM) SE Runtime Environment (build
1.8.0_25-b17) Java HotSpot(TM) 64-Bit Server VM (build 25.25-b02, mixed mode)

我已经在 Mac High Sierra 上尝试过,并且行为是相同的。

可能是什么问题?

更新:当我尝试通过导航到 WebOSIDE.app/Contents/MacOS/WebOSIDE 然后单击 WebOSIDE 来启动 eclipse 时,它​​会启动并且它确实采用 ini 文件中指定的 jre 的路径。但由于某种原因,点击 .app 文件并没有启动

【问题讨论】:

  • 我认为这是使用旧版本 Eclipse 构建的 RCP 的问题,例如您正在使用的那个。它通过使用最新版本的 Eclipse 来修复 RCP。
  • @greg-449 是否有相同的参考链接?
  • Eclipse Bugzilla中有一些错误报告,例如this one

标签: java eclipse macos


【解决方案1】:

默认情况下,eclipse会使用与可执行文件同名的ini文件。不确定您的可执行文件的名称是什么。如果是WebOSIDE,那么默认情况下,eclipse 会寻找WebOSIDE.ini 文件。尽管它可能取决于您的应用程序所基于的 eclipse 版本,但我并不完全了解 eclipse 将在何处查找该 ini 文件。目前好像是Contents/eclipse)。

ini 文件的位置和名称可以使用launcher.ini 参数来更改以运行可执行文件(您也可以在命令行上使用它来检查它)。我对此不太熟悉,但我认为可以将以下内容(作为示例)添加到Contents/info.plist 文件中:

<key>Eclipse</key>
  <array>
    <string>--launcher.ini</string>
    <string>$APP_PACKAGE/Contents/Profile/eclipse.ini</string>
  <array>

如果没有找到 ini 文件,那么 MacOS 可能会提示您是否没有正确安装 Java。避免安装旧版 Java 运行时,因为它可能难以摆脱。

这基本上来自内存,因此请搜索有关指定 ini 文件位置的更多详细信息。

【讨论】:

  • 我尝试使用带有 $APP_PACKAGE/Contents/MacOS/WebOSIDE.ini 的 info.plist 文件中的 --launcher.ini 参数,当我使用可执行文件 WebOSIDE.app/ 启动时确实需要这样做内容/MacOS/WebOSIDE。我能够以这种方式启动它,但是当我通过 WebOSIDE.app 启动时它不起作用,仍然给我同样的错误。我可以确认它确实接受了 launcher.ini 参数,因为如果我在其中给出了错误的路径并通过可执行文件启动,它会像之前所说的那样向我抛出错误。
  • 老实说,我不确定 eclipse.ini 文件在 Mac 上的位置的所有细节。我知道,默认情况下,ini 文件的名称应该与可执行文件的名称相同,但很多工作方式似乎在去年的某个时候发生了变化。所以也许尝试重命名文件WebOSIDE.ini
【解决方案2】:

对于 Mac,安装 JDK。它实际上没有将 JRE 枚举到应用程序的方法。

【讨论】:

  • 我知道我可以使用已安装的 JDK 来完成这项工作,但我的想法是使用提供的 JRE。
猜你喜欢
  • 2014-08-25
  • 2021-06-01
  • 2016-07-09
  • 2011-01-13
  • 2018-02-03
  • 2019-04-04
  • 1970-01-01
  • 1970-01-01
  • 2013-12-06
相关资源
最近更新 更多