我看到下面的错误时,试图运行maven。Java和javac是1.7(版本如下所示,和maven是3.9.0。我使用的是mac os。
任何帮助都将不胜感激。
mvn
Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 52.0
at java.lang.ClassLoader.defineClass1(Native Method)
at java.lang.ClassLoader.defineClass(ClassLoader.java:800)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:142)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:449)
at java.net.URLClassLoader.access$100(URLClassLoader.java:71)
at java.net.URLClassLoader$1.run(URLClassLoader.java:361)
at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:425)
at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:42)
at org.codehaus.plexus.classworlds.realm.ClassRealm.unsynchronizedLoadClass(ClassRealm.java:271)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:247)
at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)
at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:140)
at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:259)
at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:225)
at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:406)
at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:347)
pwd
/usr/local/Cellar/maven/3.9.1
java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
javac -version
javac 1.7.0_80
2条答案
按热度按时间zdwk9cvp1#
maven 3.9.x将需要java 1.8。参见maven release history
你现在
如果您可以看到错误说,有一个不受支持的版本使用,它给你的版本52.0。
此52版本与Java 1.8相关联。检查:classFileStructure
简单地说,这个错误告诉你maven实现是在Java 8中编译的,你正在使用不受支持的版本。
Java 8解决你的问题
olmpazwi2#
Maven 3.9.1至少需要Java 1.8。但如果您的应用程序需要Java 1.7,您仍然可以使用Java 1.7使用maven工具链构建应用程序。
在
${user.home}/.m2/toolchains.xml
中,如下配置Jdk。在您的
pom.xml
中,按如下方式配置工具链。注意:不要更改
JAVA_HOME
环境变量;它应该指向Java 1.8或更高版本的Java。通过使用工具链,Maven将使用Java1.8,项目将使用Java1.7编译
参考:Guide to Using Toolchains