maven build失败:无法找到Javac编译器:jre或jdk问题

问题

我将JAVA_HOME设置为

C:\Program Files (x86)\Java\jdk1.6.0_18

在我运行maven安装后,我从eclipse获得此消息:

原因:

Unable to locate the Javac Compiler in:
  C:\Program Files (x86)\Java\jre6\..\lib\tools.jar
Please ensure you are using JDK 1.4 or above and
not a JRE (the com.sun.tools.javac.Main class is required).
In most cases you can change the location of your Java
installation by setting the JAVA_HOME environment variable.

我确信这是棘手的部分

请确保你使用的是JDK 1.4或更高版本,而不是JRE

当我将配置运行到JRE6时,如何将其更改为已安装的JDK 1.6
编辑
我甚至试图修改插件:

<plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.0.2</version>
                <configuration>
                    <source>1.6</source>
                    <target>1.6</target>
                    <executable>C:\Program Files (x86)\Java\jdk1.6.0_18\bin</executable>
                </configuration>
            </plugin>

我仍然得到同样的错误

也许我忘了说我使用eclipse maven插件..如何在eclipse中从JRE更改为JDK?


#1 热门回答(132 赞)

你可以尝试更新Eclipse正在使用的JDK,如下所示:

在Window-> Preferences ...-> Java-> Installed JREs中添加和设置JRE:

JRE type: Standard VM JRE 
Name: jdk1.6.0_18
JRE home directory: C:\Program Files (x86)\Java\jdk1.6.0_18

如果不是这种情况,则JAVA_HOME路径中的括号和空格可能会导致问题。尝试将JDK复制到其他位置并更新JAVA_HOME。


#2 热门回答(19 赞)

eclipse.ini需要vm参数指向你的jdk位置。

编辑eclipse.ini文件以指向你的jdk home,如下所示 -

-vm
C:\Program Files\Java\jdk1.6.0_06

这可以确保Eclipse运行JDK,而不是计算机上的任何默认JRE。


#3 热门回答(12 赞)

你试试:

转到Preferences/Java/Installed JREs并为location"C:\Program Files\Java\jdk1.6.0_27\jre添加一个类似的东西。

删除C:\Program Files\Java\jre6的那个

如你所见,如果第一部分(直到/ ..)被替换为C:\Program Files\Java\jdk1.6.0_27\jre,则路径C:\Program Files\Java\jre6\..\lib\tools.jar才有意义。