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版本 (Window - Preferences - Maven - Installations)
发现用的是内置版本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 (不用内置版,使用外部版本,如下图)
补充
javap.exe
javap -v 可以输出 class文件的 minor version 和 major version 信息
简单示例:
新建 Test.java
class Test{}
分别用 jdk1.6 ,jdk1.7 , jdk1.8 编译和分解
E:\>D:\e\java\jdk1.6.0_45\bin\javac.exe Test.java
E:\>javap.exe -v Test.class
...
class Test
minor version: 0
major version: 50
flags: ACC_SUPER
... E:\>D:\e\java\jdk1.7.0_79\bin\javac.exe Test.java
E:\>javap -v Test.class
...
class Test
minor version: 0
major version: 51
flags: ACC_SUPER
... E:\>D:\e\java\jdk1.8.0_131\bin\javac.exe Test.java
E:\>javap -v Test.class
...
class Test
minor version: 0
major version: 52
flags: ACC_SUPER
...
回过头来看之前的错误
org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
当时使用的maven 版本是Eclipse 内置版 3.3.9
从官网下载将其下载,找到 下的
,找出一个class文件使用javap 查看version信息,如下:
至此可知这句异常信息的含义:当前的class 文件需要至少jdk 1.7 以上(51,52),而你的当前的jdk不支持我的class
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 报错
此报错经常出现,项目中使用的maven版本为3.2.5版本但是去写自动化脚本又需要去3.5.2版本.经常搞混,需要记录一下: 解决如下: 再次install如下: 验证成功!
- 解决Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
jdk问题 解决方案: 更换IDE的jdk
- Exception in thread "main" java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51.0
原因:JDK版本不兼容.运行的Java Class文件采用高版本的JDK编译,然后在低版本的JRE环境中运行,有时会报此错误. 解决:1)升级JDK 2)调整Eclipse中Java Compiler ...
- java.lang.UnsupportedClassVersionError: org/apache/maven/cli/MavenCli : Unsupported major.minor version 51
http://blog.csdn.net/e_wsq/article/details/52100234 一日换了一下MyEclipse,换成2016CI,结果从SVN上下载了一个工程后出现以下错误: ...
- MyEclipse配置tomcat报错 - java.lang.UnsupportedClassVersionError: org/apache/lucene/store/Directory : Unsupported major.minor version 51.0
1 开发Servlet程序时,MyEclipse配置好tomcat与JDK之后,启动时控制台报下列错误: 1 java.lang.UnsupportedClassVersionError: org/a ...
- Maven中遇到Unsupported major.minor version 51.0错误
将错误复制到某度上,查询出结果显示JDK版本不匹配. 我按着步骤执行结束后还是有以下错误: 配置: Tomcat: 最终解决: 我在Initialize的时候使用的版本是JDK1.8的,导致的这个错误 ...
- maven与jdk版本不一致报:Unsupported major.minor version 51.0
I recently uninstalled Java 8, to use Java 6 as I want my code/creations to be usable by more people ...
- 记一次jdk升级引起的 Unsupported major.minor version 51.0
之前jdk 一直是1.6,tomcat 是6.x 版本,, 现在引入的新的jar, 出现 Caused by: java.lang.UnsupportedClassVersionError: org/ ...
- 错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法
错误:Unsupported major.minor version 51.0(jdk版本错误)的解决方法 java.lang.UnsupportedClassVersionError: org/ap ...
随机推荐
- xshell实时跟踪日志与中文乱码设置
1.实时跟踪日志命令 tail -f logName.log 动态查看名为logName的日志信息 ctrl+c 退出实时跟踪 2.中文乱码设置 在Xshell.putty.SSH Secure Sh ...
- 手机端适配iPhoneX
iPhoneX取消了物理按键,改成底部小黑条,这一改动导致网页出现比较尴尬的屏幕适配问题.对于网页而言,顶部(刘海部位)的适配问题浏览器已经做了处理,所以我们只需要关注底部与小黑条的适配问题即可(即常 ...
- django ORM 增删改查 模糊查询 字段类型 及参数等
ORM 相关 #sql中的表 #创建表: CREATE TABLE employee( id INT PRIMARY KEY auto_increment , name VARCHAR (), gen ...
- [转]C#中HttpClient使用注意:预热与长连接
最近在测试一个第三方API,准备集成在我们的网站应用中.API的调用使用的是.NET中的HttpClient,由于这个API会在关键业务中用到,对调用API的整体响应速度有严格要求,所以对HttpCl ...
- SharpSvn 调用在运行时提示加载程序集出错,或有依赖项
策略后引用: SharpSvn, Version=1.8009.3299.43, Culture=neutral, PublicKeyToken=d729672594885a28日志: 尝试下载新的 ...
- C++中强制类型转换
C++强制类型转换 C++中的强制类型转换虽然兼容C语言中的强制类型转换.但是并不建议在C++中使用C语言风格的强制类型转换.C++中的强制类型转换共有4个关键字分别是:static_cast,con ...
- L1-030 一帮一(15)(代码)
L1-030 一帮一(15 分) "一帮一学习小组"是中小学中常见的学习组织方式,老师把学习成绩靠前的学生跟学习成绩靠后的学生排在一组.本题就请你编写程序帮助老师自动完成这个分配工 ...
- Android.Tools.Ant
ant 1. ant手册翻译 ant手册翻译是一项大工程!!!!!! ant在线手册的链接好不明确. 2. ant 支持for循环 安装ant-contrib Ref[1.1]. 要在ant的buil ...
- msdn
https://docs.microsoft.com/en-us/cpp/standard-library/basic-string-class?view=vs-2017
- 高级设计总监的设计方法论——5W1H需求分析法 KANO模型分析法
本期开始进入设计方法论的学习,大湿自己也是边学边分享,算是巩固一遍吧: 另外这些理论基本都是交叉结合来应用于工作中,我们学习理论但不要拘泥于理论的框架中,掌握后要灵活运用一点- 这些理论一部分来自于我 ...