5

我有一个问题,关于我的 Eclipse 的 jdk/jre 使用。我知道这个问题在这里被问了很多次并回答了很多次,我研究了很长一段时间可能出现的问题。我实际上没有找到任何东西,所以我会再问你一次。也许我错过了一些东西(如果是的话,我希望这不会令人尴尬:)

我的问题是,当我运行 mvn clean install 时,我收到一条错误消息,指出 m2eclipse 插件是“无法在以下位置找到 Javac 编译器:C:\Program Files\Java\jre6..\lib\tools.jar ”。

我检查的第一件事是是否在 Eclipse 中配置了正确的 JRE。所以我切换到 Window > Preferences > Java > Installed JREs 并检查所选的 jre 是否是我的 jdk 文件夹中的 jre。情况就是这样。

我检查了 eclipse.ini 并在其中添加了一个 -vw 标志。现在看起来像:

-startup
plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.library
plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_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
"%JAVA_HOME%\bin\javaw.exe"
-vmargs
-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m

%JAVA_HOME% 解析为 C:\Program Files\Java\jdk1.6.0_24。因为它包含一个空格,所以我用引号包围了 vw 路径。为了检查路径是否真的正确,我试过了

C:\Windows\System32>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_24

这告诉我这是正确的。我还尝试在启动 Eclipse 时传递 -vw 选项。所以启动eclipse的命令是

D:\Programs\eclipse\eclipse.exe -vm "%JAVA_HOME%\bin\javaw.exe"

我还测试了使用 %JAVA_HOME% 表示法或编写完整路径时是否存在差异(没有区别)。

当我转到帮助 > 关于 Eclipse > 安装详细信息 > 配置时,我得到的 eclipse 配置如下所示:

__wbp.gwt.useWebKit=true
awt.toolkit=sun.awt.windows.WToolkit
veclipse.application=org.eclipse.ui.ide.workbench
eclipse.buildId=M20120208-0800
eclipse.commands=-os
win32
-ws
win32
-arch
x86_64
-showsplash
-launcher
D:\Programs\eclipse\eclipse.exe
-name
Eclipse
--launcher.library
D:\Programs\eclipse\\plugins/org.eclipse.equinox.launcher.win32.win32.x86_64_1.1.100.v20110    502\eclipse_1406.dll
-startup
D:\Programs\eclipse\\plugins/org.eclipse.equinox.launcher_1.2.0.v20110502.jar
--launcher.overrideVmargs
-exitdata
3e30_64
-product
org.eclipse.epp.package.java.product
-vm
C:\Program Files\Java\jdk1.6.0_24\bin\javaw.exe
eclipse.home.location=file:/D:/Programs/eclipse/
eclipse.launcher=D:\Programs\eclipse\eclipse.exe
eclipse.launcher.name=Eclipse
eclipse.p2.data.area=@config.dir/../p2/
eclipse.p2.profile=epp.package.java
eclipse.product=org.eclipse.epp.package.java.product
eclipse.startTime=1335643108722
eclipse.vm=C:\Program Files\Java\jdk1.6.0_24\bin\javaw.exe
eclipse.vmargs=-Dosgi.requiredJavaVersion=1.5
-Xms40m
-Xmx384m
-XX:MaxPermSize=256m
[...]

我还尝试使用位于 %JAVA_HOME%\jre\bin\ 中的 javaw.exe,它也不会改变任何内容。

有点奇怪的是,如果我删除对 j​​re 的引用,即 jdk 中未包含的引用,在 Window > Preferences > Java > Installed JREs 中我收到一条错误消息,提示“指定的 JRE 安装确实不存在”。

有谁知道我做错了什么?我想我尝试了任何事情来让它发挥作用,根据其他文章,我发现我做得对。

顺便说一句:我做了一些 Maven“更新项目依赖项”和“更新依赖项”工作,所以我没有得到任何错误。唯一没做的就是重启电脑...

4

7 回答 7

7
  1. 转到 Windows --> 已安装的 JRE
  2. 选择已安装的 JRE 并单击编辑
  3. 将 JRE 主目录更改为 PATH_TO_YOURJDK\jre(以前是 PATH_TO_YOUJRE)
  4. 这对我有用
于 2013-12-02T13:40:21.350 回答
4

我想出了一个似乎可行的解决方法。这并不是我希望的解决方案,但至少我现在可以使用 maven。

我在与 jdk 和 jre 文件夹相同的文件系统中创建了一个新文件夹。我将它命名为 lib 并将 tools.jar 文件从 jdk 复制到其中。

此外,我从 java SE 的“普通”eclipse 切换到 Java EE 的 eclipse(我正在使用 EJB)。eclipse 的版本是我们从大学获得的版本,所以我不知道是否安装了我错过在我的(java SE)eclipse 上安装的插件。

现在它似乎可以工作,但如果有人有可能以更优雅的方式解决该问题的解决方案,请告诉我。

于 2012-04-29T11:15:54.217 回答
3

看到这个答案。它建议您需要将 PATH 设置为指向 Java bin 目录。在我自己的情况下,这是设置的:

D:\workspace>echo %PATH%
C:\Program Files\Common Files\Microsoft Shared\Windows Live;C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem; ...
C:\Program Files\Java\jdk1.7.0_02\bin; ...
于 2012-04-29T07:29:47.470 回答
2

我注意到这已经是一个老问题了,但是有一个更好的解决方案。首先,Eclipse 会询问“Installed JREs”,但实际上您应该在此处提供 JDK。就像提到的 Styler 一样,但不是单独导入 tools.jar,而是在“已安装的 JRE”中定义 JDK。然后它会从“基本 java”中找到所需的一切,而不需要额外的导入来构建路径(你也不应该将任何东西移入或移出 JDK 文件夹,这可能会破坏软件的可移植性)。另请注意,选择“项目”>“ Java编译器”时,有一个选项:“启用项目特定设置”。如果您选择了此选项,则它可能指定要使用的“JRE”与您在“窗口”>“首选项”>

于 2014-04-28T05:58:39.040 回答
2

编辑:您提到您在构建路径中引用了 JDK 中的 JRE。那么您是否注意到 tools.jar 也不此 JRE 文件夹中?tools.jar 仅包含在 /lib 文件夹中。不是 JDK 中的 JRE。

这在我的项目中也不断出现。无论出于何种原因,Eclipse 一直告诉我它无法找到 tools.jar。我已经为这个项目修复了几次,今晚它又回来了。以下是我如何一劳永逸地修复它。

原因是您的 Java 构建路径中包含的库中有 JRE6。但是 tools.jar 不包含在任何 JRE 中,您需要从 JDK 中导入 tools.jar。

只需转到 Properties for -> Java Build path -> Libraries (Tab) -> Add External JARs.. 并在 /lib 文件夹中选择您的 JDKs tools.jar 文件,即可解决问题。见下图。

在此处输入图像描述

于 2014-01-08T05:46:05.007 回答
0

问题在于你的定义JAVA_HOME

C:\Windows\System32>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_24

什么时候应该

C:\Windows\System32>echo %JAVA_HOME%
C:\Program Files\Java\jdk1.6.0_24\jre

变量 JAVA_HOME 应该指向 Java Runtime 目录。

于 2014-06-17T14:33:11.657 回答
0

以下是帮助我解决问题的步骤列表。

第 1 步:“属性”(窗口):

右键单击您的项目-> 属性-> Java 构建路径-> JRE 系统库(选择)-> 编辑。

第 2 步:“JRE 系统库”(窗口):

备用 JRE(选择并选择 JRE)-> 已安装的 JRE(单击)。

第 3 步:“首选项(过滤)”(窗口)

在“已安装的 JRE”下选择 JRE -> 编辑(单击)

第 4 步:“编辑 JRE”(窗口)

单击“添加外部 JAR”

第 5 步:“JAR 选择”(窗口)

选择'tools.jar'(在JDK->lib下)-->'Open'->'Finish'-->'OK'-->'Finish'-->'OK'。

我们很高兴!希望这可以帮助..

于 2015-03-20T07:45:23.413 回答