JDK 8 的 Maven 问题:不支持 major.minor 版本 52.0
Maven trouble with JDK 8 : Unsupported major.minor version 52.0
如果我的问题与之前在此提到的任何其他项目重复,我深表歉意。
我有以下配置:
Ubuntu 14.04 64 位
JDK1.8u45
Maven v3.3
我正在尝试将我的代码打包成可部署的 war。
war 已成功创建,但在我的浏览器上访问它时,我 运行 进入了不受支持的 major.minor 版本 52.0 错误。
在谷歌搜索中我发现这是由于安装的 JDK 和 maven-compiler 级别不匹配造成的。
但就我而言,两者是一样的。 -> JDK 1.8 和 maven 编译器版本 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"
mvn -v
会告诉你 Java maven 正在使用什么版本。 运行 在您的控制台中,它可能会告诉您它使用了错误的 Java 版本。
由于您提到您可以使用 Maven 成功创建 war,听起来 JDK 8 在构建过程中按预期使用。问题是您的服务器显然 运行 使用旧版本的 Java。虽然您自己只安装了 JDK 8,但您的计算机上一定已经安装了旧版本的 Java。确保 JAVA_HOME 设置为 JDK 8 并且您的服务器可以正确识别该版本。查看您是否也设置了 JRE_HOME env 变量,并将其指向 JDK 8。
I got the solution by running :
<tomcat-root-dir> / bin > catalina.bat version.
它显示我机器上的 JDK 是 JDK1.7,而用于编译 WAR 的是 1.8。
感谢大家的意见。
如果我的问题与之前在此提到的任何其他项目重复,我深表歉意。
我有以下配置:
Ubuntu 14.04 64 位 JDK1.8u45 Maven v3.3
我正在尝试将我的代码打包成可部署的 war。
war 已成功创建,但在我的浏览器上访问它时,我 运行 进入了不受支持的 major.minor 版本 52.0 错误。
在谷歌搜索中我发现这是由于安装的 JDK 和 maven-compiler 级别不匹配造成的。
但就我而言,两者是一样的。 -> JDK 1.8 和 maven 编译器版本 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"
mvn -v
会告诉你 Java maven 正在使用什么版本。 运行 在您的控制台中,它可能会告诉您它使用了错误的 Java 版本。
由于您提到您可以使用 Maven 成功创建 war,听起来 JDK 8 在构建过程中按预期使用。问题是您的服务器显然 运行 使用旧版本的 Java。虽然您自己只安装了 JDK 8,但您的计算机上一定已经安装了旧版本的 Java。确保 JAVA_HOME 设置为 JDK 8 并且您的服务器可以正确识别该版本。查看您是否也设置了 JRE_HOME env 变量,并将其指向 JDK 8。
I got the solution by running :
<tomcat-root-dir> / bin > catalina.bat version.
它显示我机器上的 JDK 是 JDK1.7,而用于编译 WAR 的是 1.8。
感谢大家的意见。