8

当我运行命令时

mvn clean package

我收到错误:

Detected JDK Version: 1.6.0-24 is not in the allowed range 1.7.

如何解决上述错误?我试图检查 jdk 版本是否已安装并得到了这个

java version "1.7.0_03"
Java(TM) SE Runtime Environment (build 1.7.0_03-b04)
Java HotSpot(TM) 64-Bit Server VM (build 22.1-b02, mixed mode)

如何解决这个问题?

4

3 回答 3

10

通常在执行时mvn -v您可能会看到类似

Apache Maven 3.0.5 (r01de14724cdef164cd33c7c8c2fe155faf9602da; 
                    2013-02-19 20:51:28+0700)
Maven home: C:\Java.Application\Apache\apache-maven-3.0.5\bin\..
Java version: 1.7.0_15, vendor: Oracle Corporation
Java home: C:\Java.Application\Sun\Java\jdk1.7.0_15\jre
Default locale: en_US, platform encoding: MS874
OS name: "windows 7", version: "6.1", arch: "amd64", family: "windows"

如果结果指向JDK Version: 1.6.0-24或与您的预期不同。请简单地将 设置JAVA_HOME为您的JDK Version: 1.7.0_03

我希望这可能会有所帮助。

于 2013-03-22T11:19:31.510 回答
2

确保您的环境 (PATH) 设置为使用您要用于编译的 JDK 版本。您可以通过在要运行 Maven 的 shell 或命令窗口中运行以下命令来检查这一点:

java -version
javac -version

确保两者javajavac指向正确的版本。您可能有一个 1.7 JRE(不包括编译器)和一个 1.6 JDK(包括编译器)并且使用了错误的 JRE。

如有必要,调整您的JAVA_HOMEPATH环境变量。

刚刚注意到您在 CentOS 上 - 有可能javajavac指向不同的版本。使用alternatives命令进行检查,请参见此处的示例:http ://wiki.centos.org/HowTos/JavaRuntimeEnvironment - 您必须同时检查 thejavajavac命令。

于 2013-03-22T11:35:20.010 回答
2

在 Eclipse 中检查您的 JRE 系统库。它显示jdk1.6.0-24吗?

对我来说,我必须右键单击 JRE System Library 并转到 Build Path -> Configure Build Path,在 Libraries 选项卡中,我必须单击 JRE System Library 并对其进行编辑。我将它设置为工作区默认 JRE,对我来说是 jdk1.7.0_80(不知道为什么它还没有设置)。

于 2016-06-17T23:31:22.247 回答