m2eclipse无法找到C:\ Program Files \ Java \ jre6 \ .. \ lib \ tools.jar

时间:2012-04-28 20:30:44

标签: eclipse maven java m2eclipse

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

我的问题是,当我运行mvn clean install时,我得到一个错误,说m2eclipse插件是“无法找到Javac编译器:C:\ Program Files \ Java \ jre6 .. \ lib \的tools.jar”。

我检查的第一件事是在eclipse中是否配置了正确的JRE。所以我切换到Window>偏好> Java>安装了JRE并检查选中的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,它也不会改变任何内容。

有一点有点奇怪的是,如果我删除对jre的引用,那个未包含在jdk中的引用,在Window>中。偏好> Java>已安装的JRE我收到一条错误,指出“指定的JRE安装不存在”。

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

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

7 个答案:

答案 0 :(得分:7)

  1. 转到Windows - >已安装的JRE
  2. 选择已安装的JRE并单击编辑
  3. 将JRE主目录更改为PATH_TO_YOURJDK \ jre(之前它将是PATH_TO_YOUJRE)
  4. 这对我有用

答案 1 :(得分:4)

我找到了似乎有用的解决方法。这不是我希望的解决方案,但至少我现在可以使用maven了。

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

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

现在它似乎有效但是如果有人有一个解决方案可以更优雅地解决这个问题,请告诉我。

答案 2 :(得分: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; ...

答案 3 :(得分:2)

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

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

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

只需转到属性 - > Java构建路径 - >图书馆(标签) - >添加外部JAR ..并在/ lib文件夹中选择JDKs tools.jar文件,它可以解决问题。见下图。

enter image description here

答案 4 :(得分:2)

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

答案 5 :(得分: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目录。

答案 6 :(得分:0)

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

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

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

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

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

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

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

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

点击“添加外部JAR”

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

选择'tools.jar'(在JDK-> lib下) - > '打开' - >'完成' - >'确定' - >'完成' - > 'OK'。

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