This question already has answers here:
How to fix java.lang.UnsupportedClassVersionError: Unsupported major.minor version
(51个答案)
3年前关闭。
我通过以下代码编译了代码:
但是用
有人知道我做错了吗?我已经读过,当编译是在较旧的Java中运行,而在较新的Java中运行时,则出现此错误,反之亦然,但是在两种情况下,我都使用Java 8。
或在〜/ .mavenrc中设置JAVA_HOME
如果您正在运行Ubuntu,则要“永久”修复它,应以root用户身份运行此命令:
它将显示系统上已安装的Java替代产品,您将能够设置哪个应为默认替代产品(在您的情况下为java8)。
您可能希望对其他Java命令执行相同的操作,例如:
(51个答案)
3年前关闭。
我通过以下代码编译了代码:
export JAVA_HOME=/usr/lib/jvm/java-8-oracle; mvn package
。我有:Apache Maven 3.0.5
Maven home: /usr/share/maven
Java version: 1.8.0_101, vendor: Oracle Corporation
Java home: /usr/lib/jvm/java-8-oracle/jre
Default locale: cs_CZ, platform encoding: UTF-8
OS name: "linux", version: "3.16.0-77-generic", arch: "amd64", family: "unix"
但是用
java -jar ...
运行后,出现错误:Unsupported major.minor version 52.0
有人知道我做错了吗?我已经读过,当编译是在较旧的Java中运行,而在较新的Java中运行时,则出现此错误,反之亦然,但是在两种情况下,我都使用Java 8。
最佳答案
为系统设置的默认Java VM与运行mvn(java8)时使用的Java VM不同(java7或更早)。
你可以跑
/usr/lib/jvm/java-8-oracle/bin/java -jar
或在〜/ .mavenrc中设置JAVA_HOME
JAVA_HOME=/usr/lib/jvm/java-8-oracle
如果您正在运行Ubuntu,则要“永久”修复它,应以root用户身份运行此命令:
sudo update-alternatives --config java
它将显示系统上已安装的Java替代产品,您将能够设置哪个应为默认替代产品(在您的情况下为java8)。
您可能希望对其他Java命令执行相同的操作,例如:
sudo update-alternatives --config javac
sudo update-alternatives --config java_vm
sudo update-alternatives --config jcontrol
sudo update-alternatives --config jexec
07-24 09:15