JDK 8的Maven问题:不支持的major.minor版本52.0

时间:2015-07-24 13:08:29

标签: java maven ubuntu build

如果我的问题与此处提到的任何其他项目重复,请道歉。

我有以下配置:

Ubuntu 14.04 64位     JDK 1.8u45     Maven v3.3

我正在尝试将我的代码打包成可部署的战争。

战争成功创建,但在我的浏览器上访问它时,我遇到了不支持的major.minor版本52.0错误。

在谷歌搜索我看到这是由于安装的JDK和maven编译器级别不匹配。

但就我而言,两者都是一样的。 - > JDK 1.8和maven-compiler版本3.3,源和目标1.8。

如何让我的构建成功编译?

输出一些有用的命令:

mvn -v

root@labuser-OptiPlex-3010:/# mvn -v 
Maven home: /usr/local/apache-maven-3.3.3 
Java version: 1.8.0_45, vendor: Oracle Corporation 
Java home: /usr/local/jdk1.8.0_45/jre Default locale: en_IN, platform encoding: UTF-8 OS name: "linux", version: "3.16.0-43-generic", arch: "amd64", family: "unix" 

3 个答案:

答案 0 :(得分:0)

mvn -v将告诉您Java版本maven正在使用什么。在控制台中运行它,它可能会显示它使用了错误的Java版本。

答案 1 :(得分:0)

由于你提到你可以用maven成功创建战争,听起来JDK 8正在构建期间按预期使用。问题是您的服务器显然正在使用旧版本的Java运行。虽然您自己只安装了JDK 8,但您的计算机上必须已经安装了旧版本的Java。确保JAVA_HOME设置为JDK 8,并且您的服务器正确地看到该版本。看看你是否也设置了JRE_HOME env变量,并将其指向JDK 8。

答案 2 :(得分:0)

I got the solution by running :

<tomcat-root-dir> / bin > catalina.bat version.

它显示我机器上的JDK是JDK1.7,而用于编译WAR的JDK是1.8。

感谢大家的投入。