我升级到 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运行它更容易。
答案 0 :(得分:0)
将M2_HOME设置为maven home,设置JAVA_HOME,然后设置路径,以便开头
Path=%JAVA_HOME%/bin;%M2_HOME%/bin
如果你在Windows上,这是通过start->右键单击计算机,属性 - >高级系统设置 - >环境变量来设置的。
您还需要更改eclipse以使用java 1.7 jdk。这应该照顾好事情,你可以将你的eclipse / maven项目中的编译级别设置为1.6。
答案 1 :(得分:0)
我面临着与日食相同的问题。将下面的插件添加到插件列表并使用Alt + F5重建项目解决了我的问题。希望它也能解决你的问题:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.5.1</version>
<configuration>
<debug>true</debug>
<verbose>true</verbose>
<source>1.7</source>
<target>1.7</target>
<fork>true</fork>
</configuration>
</plugin>
重建之后,如果你在eclipse偏好中配置了JRE1.7,eclipse会自动选择JRE1.7。