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

mvi*_*fer 5 java eclipse m2eclipse maven

我有一个问题,关于我的日食的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
Run Code Online (Sandbox Code Playgroud)

%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
Run Code Online (Sandbox Code Playgroud)

这告诉我这是正确的.我也尝试在启动eclipse时传递-vw选项.那么启动eclipse的命令就是这样

D:\Programs\eclipse\eclipse.exe -vm "%JAVA_HOME%\bin\javaw.exe"
Run Code Online (Sandbox Code Playgroud)

我还测试了当我使用%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
[...]
Run Code Online (Sandbox Code Playgroud)

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

有一点有点奇怪的是,如果我删除对jre的引用,那个未包含在jdk中的引用,在Window> Preferences> Java> Installed JREs中我得到一个错误,上面写着"指定的JRE安装确实不存在".

有谁知道我做错了什么?我想我尝试了任何使它工作的东西,根据其他文章,我发现我做得对.

顺便说一句:我做了一些Maven"更新项目依赖项"和"更新依赖项",这些都有效,所以我没有收到任何错误.我唯一没做的就是重启我的电脑......

小智 7

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


mvi*_*fer 4

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

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

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

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