小编今天学习maven时遇到关于版本的问题,百度了许多资料,都说需要更换jdk的版本;
小编在开发中使用的myelcipse2010编译器,最高自带jdk版本是1.6;但是在小编的努力不断尝试下,终于得到了一个简单方便的方式操作maven项目,既不需要重新下载jdk,也可以正确的运行。
解决方案:先把myeclipse2010的jdk版本更改成自己安装的jdk(前提是必须是jdk1.7或者更高);
然后正确运行程序,切记在项目中不能更改jdk版本,即使用默认的版本;具体实现步骤请见下面。
下面是小编今天学习时遇到的错误信息:
代码语言:javascript复制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.defineClass(ClassLoader.java:621)
at java.security.SecureClassLoader.defineClass(SecureClassLoader.java:124)
at java.net.URLClassLoader.defineClass(URLClassLoader.java:260)
at java.net.URLClassLoader.access$000(URLClassLoader.java:56)
at java.net.URLClassLoader$1.run(URLClassLoader.java:195)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(URLClassLoader.java:188)
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)
at org.codehaus.classworlds.Launcher.main(Launcher.java:47)
解决方案:
小编在运行前myelipse2010默认使用的是jdk1.6;但是maven版本是3.39,众所周知,这个版本必须要搭配jdk1.7以及以上才可以正常运行,小编也曾经想重新下载jdk1.7,但是本人电脑上已经装过jdk1.8,所以不想操作太麻烦;运行错误如图
重点来了。。。。。。。
在我们运行项目前,先把我们的myeclipse的jdk换到1.7版本以上即可;默认版本是1.6
选择1.8版本
然后保存退出,但是在maven项目中的jdk任然是1.6.但是此时不需要修改项目中的jdk版本
然后按照正常运行步骤执行项目即可,运行正确;