Java Eclipse如何找到JRE或JDK地址?

Java Eclipse如何找到JRE或JDK地址?,java,windows,eclipse,jvm,Java,Windows,Eclipse,Jvm,根据Eclipse常见问题解答。我读到了 Eclipse不查询JAVA\u HOME环境变量。 我的疑问是eclipse如何初始化虚拟机。它不知道Java的位置。我的eclipse.ini文件没有-vm配置。我仍然能够运行eclipse 更新 据日食报道Eclipse不会将条目写入Windows注册表 据我所知,为了调用JVM,Eclipse执行java命令,因此,如果它位于您的系统执行路径,Eclipse将不需要找到instalation目录 要进行检查,您可以启动操作系统外壳并执行下一个命

根据Eclipse常见问题解答。我读到了

Eclipse不查询JAVA\u HOME环境变量。

我的疑问是eclipse如何初始化
虚拟机
。它不知道
Java
的位置。我的
eclipse.ini
文件没有
-vm
配置。我仍然能够运行eclipse

更新


据日食报道<代码>Eclipse不会将条目写入Windows注册表

据我所知,为了调用JVM,Eclipse执行java命令,因此,如果它位于您的系统执行路径,Eclipse将不需要找到instalation目录

要进行检查,您可以启动操作系统外壳并执行下一个命令(从任何位置):

编辑:我(部分)错了。来自FAQ()

如果JVM安装在eclipse/jre目录中,eclipse将使用 信息技术否则,启动器将查阅eclipse.ini文件和 系统路径变量


因此,Eclipse首先在其Eclipse/jre目录中查找已安装的VM,如果为空,则查阅Eclipse.ini文件,最后查看系统路径。

Eclipse将使用您安装的jre的任何版本运行。要查看/编辑正在使用的版本,请转到“首选项”->“Java”->“已安装的JRE”

甚至“帮助”->“安装详细信息”->“配置”将为您提供所使用的jvm的确切版本和类型。在这里,它在系统属性中给出,或者只是在Eclipse中运行java程序。Eclipse将显示它正在使用的javaw命令的完整路径。

Eclipse查找系统路径变量以获取已安装的JVM。这取决于您如何定义路径变量。在path中定义多个版本的顺序很重要,即如果jdk1.5/bin设置在jdk1.6/bin之前,则当您在cmd上执行java-version时,系统将选择1.5版本

1) 下载并安装了适用于Android(Eclipse)的ADT和JDK Java捆绑包的64位版本

2) 更新路径环境变量(Win控制面板…系统…高级选项…环境变量) 在我的例子中,现在看起来是这样的: C:\Program\Java\jre7\bin\client\jvm.dll;C:\Program\Java\jdk1.7.0\U 21\bin


(在\bin目录后没有反斜杠)

现在在WIN64上,oracle创建了两个新目录并将它们添加到您的路径中。eclipse将默认为您在安装过程中指定的第二个目录,因为它将在JAVA_主页之前的路径头加载。这是令人困惑的为什么他们要求你两个目录,我没有答案。我吹走了第二个目录,从路径中删除了两个添加的目录,相应地配置了我的JAVA_HOME环境变量(在我的例子中,已经在指向旧版本的路径上了),eclipse很好用。

它可能会检查注册表-至少在Windows上是这样。值得注意的是,eclipse不会将条目写入Windows注册表。查看上面的源代码。我没有说它会写入注册表,只是说它会读取注册表,因为(正确安装的)JRE的位置是可用的there@a_horse_with_no_name在Windows上,
system32\java.exe
是一个存根,用于查找注册表以解析活动JDK。我非常怀疑Eclipse是否能够独立完成这项工作。不,这与OP的问题无关。这是关于用于启动Eclipse中正在开发的代码的JRE。@KeithMadsen我想我的问题很清楚。如果我们第一次跑步呢?根据文件。eclipse不接触环境变量。那么eclipse如何知道JRE的位置呢?如果我们第一次运行eclipse?@SamuelLebron,即使您在eclipse中设置了JRE,也没有关系。这些设置不会以任何方式影响Eclipse本身的启动。解决JRE位置有不同的方法。一是制度路径;另一个是
JAVA_HOME
;你提到了第三个,不相关的机制,浏览器使用。Eclipse只使用这些机制中的一种,即系统路径。@SamuelLebron关于为什么使用JDK而不是JRE,JDK只是JRE的超集,那么为什么不呢?许多开发人员甚至不安装单独的JRE,他们使用一个JDK安装。要么这样,要么它检查系统路径(操作系统在调用javaw命令时会这样做,它不会调用java命令,因为它不想启动控制台)@jwenting你是对的,这是javaw进程(没有控制台).@TomasNarros如果它不在系统执行路径上怎么办?它是如何找到
javaw
tool的位置的?@TomasNarros您的意思是eclipse引用PATH环境变量?@Samuel#1那么eclipse laucher肯定会显示一个错误对话框或其他什么。从未见过它,因为Java安装在系统路径上注册了bin文件夹#不,不完全是这样:Eclipse启动javaw命令,是系统解决了这个问题,感谢StackOverflow的帮助。很高兴为这个问题创建一个答案,即使,或者特别是如果你是我们的问题的作者。你的措辞听起来就是这样。然而,询问者帐户和回答者帐户是不同的(afaik不违反任何规则,只是混淆)。你能解释或重新措辞,以避免那种令人困惑的印象吗?
> java -version