【发布时间】:2016-02-23 13:39:01
【问题描述】:
我升级到 maven 3。我的项目是使用 jdk6 构建的,所以 eclipse JRE 指向 java 6 home。 看来maven 3需要java 7。 我的 JAVA_HOME 指向 java 7,但 Maven 插件显然使用 JRE 6 (Eclipse JRE),并在从 eclipse 运行时抛出此异常:
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:632)
at java.lang.ClassLoader.defineClass(ClassLoader.java:616)
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)
如何让 m2eclipse 使用 java7(这是我的 JAVA_HOME)?
请注意,独立的 maven 可以正常工作,但从 eclipse 运行它更容易。
【问题讨论】:
-
你可以尝试使用外部maven安装。执行以下操作转到 windows -> 首选项 -> Maven -> 安装。从您的 M2_HOME 添加新的 Maven 安装。
-
您使用哪个 Eclipse 版本?不要在 eclipse 中使用 M2_HOME ....
标签: java eclipse maven java-7 jdk1.6