繁体   English   中英

JDK版本不在允许范围内

[英]JDK Version Not in Allowed Range

我正在使用Mule CE 3.7 ,后者使用Maven来编译其项目。 问题是,在编译时,他返回此错误:

[错误]检测到的JDK版本:1.8.0-60不在允许的范围[1.7,1.8]中。

我已经做了发现的所有解决方案,配置了JAVA_HOME和PATH。

如果我运行Java命令,它们将向我返回以下内容:

MBP-de-axz:~ axz$ java -version
java version "1.8.0_60"
Java(TM) SE Runtime Environment (build 1.8.0_60-b27)
Java HotSpot(TM) 64-Bit Server VM (build 25.60-b23, mixed mode)

MBP-de-axz:~ axz$ javac -version
javac 1.8.0_60

MBP-de-axz:~ axz$ mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T08:57:37-03:00)
Maven home: /usr/local/Cellar/maven/3.3.3/libexec
Java version: 1.8.0_60, vendor: Oracle Corporation
Java home: /Library/Java/JavaVirtualMachines/jdk1.8.0_60.jdk/Contents/Home/jre
Default locale: pt_BR, platform encoding: UTF-8
OS name: "mac os x", version: "10.10.1", arch: "x86_64", family: "mac"

我已经像这样配置了项目的Pom文件:

<requireJavaVersion>
     <version>[1.7,1.9)</version>
</requireJavaVersion>

因此,所有人都指向相同的Java版本。 这是在我的Mac和Windows中发生的。 仅当我更改为Java 1.7时该项目才能工作,但是我可以使用1.7,因为我的一个库使用Java 1.8。

任何人都对它有什么想法?

谢谢 !

您可能要使用[1.7,1.9)作为版本范围。 这意味着它接受1.7 (含)至1.9 (不含)之间的版本。 由于1.8.0_60大于1.8 ,因此超出了先前版本范围。 顺便说一句, [1.8)会同时包含和排除1.8 ,所以这不起作用。

问题是Mule还不兼容JDK 1.8,我需要使用JDK 1.7

我应该已经阅读了这些要求。

当Maven JDK版本和PROJECT JDK版本不匹配时,会发生此错误。

为了解决该问题,请尝试首先使用以下命令找出mvn jdk版本

"mvn --version"

然后使用set JAVA_HOME="c:\\jdk_location_here"设置所需的JDK版本。 如果重新运行"mvn --version" 您将在此处看到更新的JDK版本。现在尝试运行您的构建。

长期:在环境变量中设置JAVA_HOME。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM