2012-04-28 162 views
5

我有一个问题,关于我的eclipse的jdk/jre用法。我知道这个问题在这里被问及很多次,我研究了一段时间后可能会出现什么问题。我其实没有找到任何东西,所以我会再次问你。也许我失去了一些东西(如果是的话,我希望它不尴尬:)m2eclipse无法找到C: Program Files Java jre6 .. lib tools.jar

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

我检查的第一件事是如果在eclipse中配置了正确的JRE。所以我切换到窗口>首选项> 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>安装详细信息>配置,我得到的,看起来像这样:

__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 
[email protected]/../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 
[...] 

我也试着使用位于javaw.exe的%JAVA_HOME%\ jre \ bin \也不会改变任何东西。

有一点有点奇怪的是,如果我删除对jre的引用,那个不包含在jdk中的引用,在Window> Preferences> Java> Installed JRE中,我得到一个错误,指定的JRE安装不存在“。

有没有人有想法我做错了什么?我想我尝试了一些方法使其发挥作用,根据其他文章,我发现我做对了。

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

+1

这是一个常见的错误,通常是由于没有指向JDK而导致的。你似乎已经做得正确。你重新开始你的月食吗? – 2012-04-28 21:16:20

+0

是的我几次重新启动eclipse,这并没有改变任何东西... – mvieghofer 2012-04-29 06:21:18

+0

也许你应该看到这个http://stackoverflow.com/questions/2222560/build-failed-question-maven-jre-or-jdk-problem – notsopopularguy 2014-06-04 12:33:03

回答

4

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

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

此外,我从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; ... 
+0

我的路上有jdk,所以这不是问题。 – mvieghofer 2012-04-29 11:10:40

7
  1. 转到Windows - >安装的JRE
  2. 选择安装JRE,然后单击编辑
  3. 变化的JRE主目录PATH_TO_YOURJDK \ JRE(以前这将是PATH_TO_YOUJRE)
  4. 这对我的作品
2

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

这让我在我的项目中也不断弹出。无论出于何种原因,Eclipse一直告诉我它无法找到tools.jar。我为这个项目修复了几次,今晚它又回来了。以下是我最终如何彻底修复它。

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

通过简单地进入Properties for - > Java Build path - > Libraries(Tab) - > Add External JAR ..并选择/ lib文件夹中的JDKs tools.jar文件,它可以解决问题。看到下面的图片。

enter image description here

2

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

+0

我碰巧注意到m.ali.khan.5049早些时候提供了基本相同的信息。在写作的时候,我碰巧错过了这一点。但我希望提供的额外信息可能会使某人受益。 – 2014-05-27 11:16:43

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运行时目录。

0

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

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

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

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

备用JRE(选择,选择JRE) - >安装的JRE(点击进入)。

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

下的 '已安装JRE的' 选择JRE - >编辑(点击进入)

STEP 4: “编辑JRE”(窗口)

点击 '添加外部JAR'

STEP 5: “JAR选择”(窗口)

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

我们很好走!!!希望这有助于...

相关问题