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

Compile maven projects with JDK 1.6 in 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[=11=]0(URLClassLoader.java:58)
at java.net.URLClassLoader.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 组件,同样的问题,因为问题应该是新的 m2e 插件,用 JDK 1.7.

编译

有什么建议吗?

Here一个相关的问题。

此致。

回到露娜那里。严重地。 =)

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

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

其次,安装"Eclipse Java Development Tools"包("Help"菜单下的select"Install New Software...")。重新启动日食。

现在,再次打开同一个 window。从 m2e 项目 (http://download.eclipse.org/technology/m2e/releases) 添加存储库,取消选中 "Show only the latest versions of available software" 并从 m2e 插件中选中更高的 1.5.x 版本(当前为 1.5.2.20150414-2215)。再次重启 eclipse。

享受(祝你好运)。

下载支持JDK6或更高版本的Maven,在Maven Release History. I downloaded version 3.2.5.

中可以看到

之后打开 Eclipse Mars > Window > Preferences > Maven > Installations 并添加 Maven 3.2.5,然后单击 Apply 然后 OK

m2e 插件版本 >= 1.6 不支持 Maven 2。如果你想安装 m2e 插件 1.5.x 在已经安装了 m2e 1.6 的 Eclipse Mars 中(参见第 "Maven Integration for Eclipse" 行)。 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
    

切记不要更新 "Maven Integration for Eclipse" 功能,因为它可能会覆盖上面的更改。