查找Eclipse正在运行的JVM版本

44

我目前正在调整我的Eclipse安装,并遇到了“-vm”选项。在Stack Overflow上的其他帖子中提到,最好始终使用最新的可用JVM,因为它们在性能方面不断改进,所以我很可能这样做。但我想知道,如果您没有指定“-vm”参数,如何找出Eclipse运行的JVM。

我在文档中找到了以下内容,但并没有说明它将如何查找JVM:

当传递给Eclipse可执行文件时,此选项用于定位要使用的Java VM来运行Eclipse。它必须是适当的Java可执行文件的完整文件系统路径。如果未指定,则Eclipse可执行文件使用搜索算法来查找合适的VM。无论如何,可执行文件都会使用“-vm”参数将实际使用的VM路径传递给Java Main。然后,Java Main将此值存储在eclipse.vm中。


1
所选择的解决方案告诉您Eclipse最终使用哪个JVM。它并不告诉您为什么选择了该JVM,也就是说,并没有关于“搜索算法以定位合适的VM”的任何信息。 - VonC
我正在寻找Eclipse运行的JVM。我同意我的问题可能不是很清楚,因为我提到了文档中的部分。无论如何,感谢您的回答。 - Christophe Herreman
没问题。实际上,我对你的问题的解释比仅仅指向“eclipse.vm”配置面板更有趣;) - VonC
4个回答

75

实际上,Windows->Preferences->Java->installed并不能展示出Eclipse正在运行的JRE,而只能展示它默认的JRE。

要查看Eclipse正在运行的JRE,可以前往Help->About Eclipse Platform->Configuration Details,然后查找eclipse.vm属性。

例如:

eclipse.vm=C:\Program Files\Java\jre6\bin\client\jvm.dll

我在你发现的同一时间也发现了同样的事情 :-) 我喜欢你的解释。 - Akrikos
18
在开普勒版本中,找到帮助->关于Eclipse->安装详情->配置。 - Leo

11
根据这个线程这个线程:
Eclipse将尝试通过检查路径来定位用于启动自身的JVM。
所以,你可以:
  • 创建一个JAVA_HOME环境变量,指向您实际首选的JDK。
    这样,您就可以轻松选择已安装的JDK之间进行切换。

  • 在路径中的任何位置添加%JAVA_HOME%\bin,在<windowsroot>\system32之前,它还包含java、javaw和co二进制文件。
    这样,JDK bin目录中的java*在从路径调用时会被调用。

我相信其他帖子会告诉你如何找到eclipse正在使用的JVM。
然而,我把你的问题理解为:"当没有使用-vm参数"时,eclipse将使用哪个JVM来启动自己?
进一步研究后,发现eclipse将寻找一个JRE:
  • 直接在其安装目录下(<eclipse>\jre):如果将任何已安装的JRE的内容复制到该子目录中,它将被选中
  • C:\Program Files\Java\JRE...中。
  • 在%PATH%中(见上文)
此外,阅读这个SO答案可以了解为什么eclipse默认会选择jvm.dll而不是javaw.exe。

感谢提供信息。不过这有点奇怪。我有一个JAVA_HOME环境变量,它指向C:\Program Files\Java\jdk1.6.0_07,但Eclipse似乎在C:\Program Files\Java\jre6\bin\client\jvm.dll上运行。 - Christophe Herreman
“/jre” 文件夹是IBM将自己的JVM与Rational产品(基于Eclipse)捆绑在一起的方式,我在那些年使用时就是这样。新的“Java已包含”功能可能会有所不同。 - Thorbjørn Ravn Andersen
@ThorbjørnRavnAndersen 确实如此。我没有足够密切地关注过,也不知道现在是如何完成的。 - VonC
@vonc,我只是为了未来的读者提供额外的信息,因为某种原因,该项被显示出来。 - Thorbjørn Ravn Andersen
@ThorbjørnRavnAndersen 好的,不要犹豫地编辑答案。 - VonC

7
如果您前往Help->'About Eclipse Platform'并单击“Configuration Details”按钮,它将需要一段时间才能显示,但您将获得有关Eclipse配置的所有信息...
我发现这两行是您要找的内容:
-vm C:\ Program Files \ Java \ jdk1.6.0_10 \ bin .. \ jre \ bin \ client \ jvm.dll

-2

我认为如果你这样做:
Window->Preferences->Java->Installed JREs
你会看到你的计算机上已安装的JRE列表。 被选中的那个是Eclipse正在使用的。

或者,如果你进入“运行配置”对话框,并查看JRE选项卡,你可以选择在那里运行JRE。


这可能是在第一次安装后的真实情况,但它可以被更改。 - Ken Liu

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接