在Eclipse Mars中使用JDK 1.6编译maven项目

时间:2015-07-01 13:46:48

标签: eclipse m2eclipse m2e eclipse-mars

我需要较旧版本的m2e,因为我需要使用较旧的maven版本(我必须使用JDK 1.6编译一些项目)。

这是在Mars中启动任何构建(使用java 1.6)时的异常:

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)

如果安装外部maven组件也会出现同样的问题,因为问题应该是使用JDK 1.7编译的新m2e插件。

有什么建议吗?

Here一个相关的问题。

问候。

3 个答案:

答案 0 :(得分:7)

下载支持JDK 6或hight的Maven版本,您可以在Maven Release History中看到。我下载了3.2.5版本。

之后打开Eclipse Mars>窗口>偏好> Maven>安装并添加Maven 3.2.5,单击Apply然后单击确定

答案 1 :(得分:2)

回到Luna。认真。 =)

你真的想尝试火星吗?好的,继续......

首先,为非java开发人员下载一个eclipse版本(对于c / c ++开发人员应该这样做)。

其次,安装“Eclipse Java Development Tools”软件包(在“帮助”菜单下选择“安装新软件...”)。重启eclipse。

现在,再次打开同一个窗口。从m2e项目(http://download.eclipse.org/technology/m2e/releases)添加存储库,取消选中“仅显示可用软件的最新版本”,并从m2e插件(目前为1.5.2.20150414-2215)中检查更高的1.5.x版本。再次重启eclipse。

享受(祝你好运)。

答案 2 :(得分:0)

版本中的m2e插件> = 1.6不支持Maven 2.如果你想在已安装m2e 1.6的Eclipse Mars中安装m2e插件1.5.x(请参阅第34行; Maven Integration for Eclipse" at 。https://eclipse.org/downloads/compare.php?release=mars)你应该:

  1. 使用" Maven Integration for Eclipse"下载Eclipse Luna软件包。安装;
  2. 复制所有jar和目录
    ${eclipse_luna}\plugins
    

    从org.eclipse.m2e前缀开始到

    ${eclipse_mars}\plugins;
    
  3. ${eclipse_mars}\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info
    

    删除以org.eclipse.m2e前缀开头的所有行,并从

    复制粘贴以org.eclipse.m2e开头的所有行
    ${eclipse_luna}\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info
    
  4. 请记住不要更新" Maven Integration for Eclipse"功能,因为它可能会覆盖上面的更改。