为Eclipse设置正确的路径

48

最近我改变了方向,以便能够跟上《Head First Java》这本书的内容,之前我使用的是Eclipse。现在当我尝试再次打开Eclipse时,它无法打开,因为它说找不到JRE或JDK来使用我的目录。我已经移动了JDK文件。我下载的是jdk1.8.0_60版本。那么我该如何使Eclipse重新打开呢?


2
尝试编辑 eclipse.ini 文件(对于我来说在 ~/eclipse/java-mars/eclipse 中;对于 Windows 系统可能会在 C:\Program Files 中的某个位置),并将 -vm 后面的一行更改为您实际的 JDK 路径。 - Majora320
此外,将您的PATH更改为包括jdk目录。 - Majora320
还要检查一下您是否安装了x32或x64版本的Java,并为之前下载的eclipse进行认证。 - aelkz
我尝试将我的路径更改为ThisPC\Desktop\eclipse\jdk1.8.0_60\bin,但它没有起作用。我甚至尝试将jdk1.8.0_60文件放在eclipse文件中,但也没有起作用... - TyngeOfTheGinge
移动你的JDK文件或目录只会让情况更糟;它是一个已安装的程序,应放置在原始安装位置。Eclipse不仅仅查看PATH。此外,您不应该更改 PATH,而是应该向其添加内容。您也不应该将PATH更改为bin文件夹,只需更改默认安装目录即可。 - Abob
7个回答

103

正如Abob所说:

Eclipse不会查找JAVA_HOME变量。

您应该在文件eclipse.ini中指定Eclipse应该在哪里查找JDK。具体来说,使用以下参数(请注意,它在ini文件中是2行):

-vm
C:\Java\JDK\1.8\bin\javaw.exe

或者在您的javaw.exe所在的任何位置。

注意: ini文件的格式非常特殊,请务必查阅https://wiki.eclipse.org/Eclipse.ini,确保您完全正确地获取它。


1
值得注意的是,可以使用Java Portable从USB驱动器中运行Eclipse。只需使用相对路径,如\PortableApps\Programs\CommonFiles\Java\bin - Stevoisiak
12
注释非常有帮助——只有在我将其移动到“-vmargs”上方时,该行才对我有效。 - Rob Wilson
还要确保正确的Java版本已映射。例如,win32有jdk_32,64位则有相应的版本。这很有帮助。 - coretechie
我在我的eclipse.ini文件中找不到-vm,只有-vmargs。我该怎么办? - madladzen
@madladzen:你可以直接添加。-vmargs提供参数,-vm指向Eclipse应该使用的JVM。请查看链接的维基,它解释得非常清楚。 - Christian W

31

Eclipse 文件夹有一个初始化文件,它在启动/双击时由 Eclipse 使用,它的名称为 eclipse.ini。将下面的行添加到 eclipse.ini 文件中。其中 vm 定义了我们想要 Eclipse 使用的 JVM 的路径。

-vm
C:\Program Files\Java\jdk1.8\bin\javaw.exe

请确保您已单独添加了上述行,并将其放在以下行之上

--launcher.appendVmargs
-vmargs

对于Spring Tool Suite [3.8.3.RELEASE-e4.6.2] 请分别在以下这一行之前添加这些内容: -vm C:\Program Files\Java\jdk1.8.0_74\bin\javaw.exe 同时,在以下这一行之前添加这些内容: --launcher.defaultAction openFile -vmargs -Dosgi.requiredJavaVersion=1.8 - rvd

15

进入 系统属性 > 高级 > 环境变量 并查看 系统变量 下的内容。

首先,创建/设置你的 JAVA_HOME 变量

即使 Eclipse 不会查找 JAVA_HOME 变量,仍然建议设置它。有关更多信息,请参见 如何运行 Eclipse?

如果您尚未创建和/或在 系统变量 列表中没有看到 JAVA_HOME,请执行以下操作:

  1. 点击最底部的 New...
  2. 对于 变量名,粘贴 JAVA_HOME 以确保准确性
  3. 对于 变量值,根据计算机和 Java 的位数可能会有所不同。
    • 如果您的计算机和 Java 均为 64 位 ,则输入 C:\Program Files\Java\jdk1.8.0_60
    • 如果您的计算机和 Java 均为 32 位 ,则输入 C:\Program Files\Java\jdk1.8.0_60
    • 如果您的计算机为 64 位,但 Java 是32 位 ,则输入 C:\Program Files (x86)\Java\jdk1.8.0_60

如果您已创建和/或看到了 JAVA_HOME,请执行以下操作:

  1. 点击您在其中看到 JAVA_HOME系统变量 行。
  2. 点击最底部的 Edit...
  3. 对于 变量值,根据 Java 的和您的计算机的位数,将其更改为上面第3步中所述的内容。重复一遍:
    • 如果您的计算机和 Java 均为 64 位 ,请更改为 C:\Program Files\Java\jdk1.8.0_60
    • 如果您的计算机和 Java 均为 32 位 ,请更改为 C:\Program Files\Java\jdk1.8.0_60
    • 如果您的计算机为 64 位,但 Java 是32 位 ,请更改为 C:\Program Files (x86)\Java\jdk1.8.0_60

接下来,添加到您的 PATH 变量

  1. 点击带有 PATH系统变量
  2. 点击最底部的 Edit...
  3. 如果您使用的是较新版本的 Windows:
    • 点击 New
    • 键入 C:\Program Files (x86)\Java\jdk1.8.0_60C:\Program Files\Java\jdk1.8.0_60,具体取决于您的计算机和 Java 的位数(请参见上面 ^)。
    • 按下 Enter 并再次单击 New
    • 键入 C:\Program Files (x86)\Java\jdk1
      -startup
      plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
      --launcher.library
      plugins/org.eclipse.equinox.launcher.win32.win32.x86_1.1.100.v20110502
      -product
      org.eclipse.epp.package.java.product
      --launcher.defaultAction
      openFile
      --launcher.XXMaxPermSize
      256M
      -showsplash
      org.eclipse.platform
      --launcher.XXMaxPermSize
      256m
      --launcher.defaultAction
      openFile
      -vm
      C:\Program Files\Java\jdk1.8.0_60\bin\javaw.exe
      -vmargs
      -Dosgi.requiredJavaVersion=1.5
      -Xms40m
      -Xmx1024m
      

XXMaxPermSize可能已过时,因此可能无法正常工作。 如果 Eclipse 仍然无法启动,请执行以下操作:

  1. 删除更新的eclipse.ini文件
  2. eclipse.ini.old重命名为eclipse.ini
  3. 打开命令提示符
  4. 输入eclipse -vm C:\Program Files (x86)\Java\jdk1.8.0_60\bin\javaw.exe

如果问题仍然存在

尝试将 Eclipse 和 Java 更新到最新版本(8u601.8.0_60不是 Java 的最新版本)。有时,最新版本的 Java 与旧版本的 Eclipse 不兼容,反之亦然。否则,如果您仍然遇到问题,请留下评论。您也可以尝试重新安装 Java。


还是不行。我重新下载了Eclipse,并将其全部放在桌面的eclipse2文件夹中。我不知道为什么我仍然在尝试打开Eclipse时遇到错误。错误显示在此位置查找时未找到任何虚拟机:C:Users\Ty\Desktop\eclipse2\jre\bin\javaw.exe - TyngeOfTheGinge
如果在eclipse目录中找不到JVM,请尝试将其移动到C:\Program Files (x86)\Java\jdk1.8.0_60\binC:\Program Files\Java\jdk1.8.0_60\bin(默认目录;请参阅查找JVM),然后按照我在答案中发布的新部分进行操作。如果这样仍然无法解决问题,请删除所有Java安装程序,并从此处安装最新版本。 - Abob
所有关于JAVA_HOME和PATH的东西对于运行Eclipse来说毫无意义。而关于替换整个eclipse.ini文件的建议是非常糟糕的建议 - 不同版本和不同包的Eclipse在eclipse.ini中会有不同的内容,盲目替换可能会导致问题。只需要确保存在一个-vm参数和有效值,如https://wiki.eclipse.org/Eclipse.ini所述。 - E-Riz

2
我通过添加或更改环境变量解决了这个问题。 进入Win7->我的电脑->属性->高级系统设置->环境变量
  1. 如果没有JAVA_HOME变量,请添加它,其值为变量,路径为JDK安装的文件夹,例如C:\Program Files\Java\jdk-11.0.2
  2. 如果没有PATH变量或其值不同,请将变量值更改为C:\Program Files\Java\jdk-11.0.2\bin或添加具有此值的PATH变量。
祝你好运

2

我使用的是Windows 8.1环境。最近安装完Eclipse后运行我的第一个java程序时遇到了同样的问题。 我已经在D盘安装了Java,路径为d:\java。 但Eclipse却默认查找c:\programfiles\java中的Java。 我进行了以下操作:

  1. Modified my eclipse.ini file and added the following after open:

    -vm
    d:\java\jdk1.8.0_161\bin 
    
  2. While creating the java program I have to unselect default build path and then select d:\java.

在此之后,程序运行良好,并成功实现了“Hello World”。


1

操作系统、JDK和Eclipse位数之间需要匹配。在我的情况下,我使用的是64位JDK和32位Eclipse在64位操作系统上。将JDK降级为32位后,Eclipse开始工作。

请使用以下其中一种组合。

32位操作系统、32位JDK、32位Eclipse(仅限32位)

64位操作系统、32位JDK、32位Eclipse

64位操作系统、64位JDK、64位Eclipse(仅限64位)


0

对我来说,这些方法都没有起作用。我将我的现有eclipse.ini与一个新的进行了比较,并开始删除选项并测试eclipse是否能够正常工作。

唯一阻止eclipse启动的选项是-XX:+UseParallelGC,所以我将其删除,问题迎刃而解!


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