【问题标题】:m2eclipse is unable to locate C:\Program Files\Java\jre6\..\lib\tools.jarm2eclipse 无法找到 C:\Program Files\Java\jre6\..\lib\tools.jar
【发布时间】:2012-05-09 04:26:06
【问题描述】:

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

我的问题是,当我运行 mvn clean install 时,我收到一条错误消息,提示 m2eclipse 插件“无法在以下位置找到 Javac 编译器:C:\Program Files\Java\jre6..\lib\工具.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,它也没有改变任何内容。

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

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

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

【问题讨论】:

  • 这是一个常见错误,通常是由于未指向 JDK 引起的。你似乎做的一切都是正确的。你重启你的eclipse了吗?
  • 是的,我重启了 eclipse 几次,都没有改变...
  • 也许你应该看到这个stackoverflow.com/questions/2222560/…

标签: eclipse maven java m2eclipse


【解决方案1】:
  1. 转到 Windows --> 已安装的 JRE
  2. 选择已安装的JRE并点击编辑
  3. 将 JRE 主目录更改为 PATH_TO_YOURJDK\jre(以前是 PATH_TO_YOUJRE)
  4. 这对我有用

【讨论】:

    【解决方案2】:

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

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

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

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

    【讨论】:

      【解决方案3】:

      this answer。它建议您需要将 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; ...
      

      【讨论】:

      • 我的路径上有 jdk,所以这不是问题。
      【解决方案4】:

      编辑:您提到您在构建路径中引用了 JDK 中的 JRE。那么您是否注意到该 JRE 文件夹中的 tools.jar 也 NOT ? 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 文件,即可解决问题。见下图。

      【讨论】:

        【解决方案5】:

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

        【讨论】:

        • 我碰巧注意到 m.ali.khan.5049 之前提供的信息基本相同。在撰写本文时,我碰巧错过了这一点。但我希望提供的额外信息可以使某人受益。
        【解决方案6】:

        问题在于你的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 目录。

        【讨论】:

          【解决方案7】:

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

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

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

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

          Alternate JRE(Select and select the JRE)-> Installed JREs(Click).

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

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

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

          点击“添加外部 JAR”

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

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

          我们很高兴!希望这会有所帮助..

          【讨论】:

            猜你喜欢
            • 1970-01-01
            • 1970-01-01
            • 2014-03-26
            • 1970-01-01
            • 2011-08-27
            • 2020-09-13
            • 1970-01-01
            • 2010-11-07
            • 2012-02-09
            相关资源
            最近更新 更多