首页 > 代码库 > org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0

Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0	at java.lang.ClassLoader.defineClass1(Native Method)	at java.lang.ClassLoader.defineClassCond(ClassLoader.java:631)	at java.lang.ClassLoader.defineClass(ClassLoader.java:615)	at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:141)	at java.net.URLClassLoader.defineClass(URLClassLoader.java:283)	at java.net.URLClassLoader.access$000(URLClassLoader.java:58)	at java.net.URLClassLoader$1.run(URLClassLoader.java:197)	at java.security.AccessController.doPrivileged(Native Method)	at java.net.URLClassLoader.findClass(URLClassLoader.java:190)	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClassFromSelf(ClassRealm.java:401)	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:254)	at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:239)	at org.codehaus.plexus.classworlds.launcher.Launcher.getMainClass(Launcher.java:144)	at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.java:266)	at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.java:229)	at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.java:415)	at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.java:356)

 

顺藤摸瓜,查看Eclipse 使用的 maven版本

技术分享

发现用的是内置版本3.3.9

查看官网 http://maven.apache.org/download.cgi 

 

技术分享

 

发现这个版本最低要求JDK 1.7

继续查看自己的项目使用的jre版本是1.5

技术分享

 调 查 结 果 

构建此项目时,用的是1.5 ,而运行maven 3.3.9 需要至少1.7 

尝试调整项目为1.6 

技术分享

依旧是这个错误

直到——

调整为1.7 ,构建成功 ,确认为就是此问题。

[INFO] BUILD SUCCESS

 解 决 方 案 

第一种:

将项目JRE 版本升至1.7及以上(可以通过Maven Compiler插件)

第二种:

降低Maven版本至3.2 (不用内置版,使用外部版本,如下图)

技术分享

 

 P S 

关于Window - Preferences - Java - Compiler 的一点小知识

 技术分享技术分享

这个设置只影响新建普通Java Project 时的默认JRE选项(可以使用默认,也可以使用其他的)

技术分享

最终决定项目构建时运行的JRE是 项目Build Path 里的JRE (maven项目如果不指定插件,默认是JRE1.5)

技术分享

 

org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0