在 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) 你应该:
- 下载安装了 "Maven Integration for Eclipse" 的 Eclipse Luna 包;
从
复制所有 jar 和目录
${eclipse_luna}\plugins
以 org.eclipse.m2e 前缀开头
${eclipse_mars}\plugins;
在
${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" 功能,因为它可能会覆盖上面的更改。
我需要旧版本的 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) 你应该:
- 下载安装了 "Maven Integration for Eclipse" 的 Eclipse Luna 包;
从
复制所有 jar 和目录${eclipse_luna}\plugins
以 org.eclipse.m2e 前缀开头
${eclipse_mars}\plugins;
在
${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" 功能,因为它可能会覆盖上面的更改。