2015-07-01 4 views
2

Мне нужна более старая версия m2e, потому что мне нужно использовать более старую версию maven (мне нужно скомпилировать некоторые проекты с JDK 1.6).Компилировать проекты maven с JDK 1.6 в Eclipse 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, потому что проблема должна быть новая m2e плагин, составленный с JDK 1.7.

Любые предложения?

Here связанная проблема.

С уважением.

+0

Возможный дубликат http://stackoverflow.com/questions/20541560/class-has-unsupported-major-or-minor-version-numbers – Rossiar

ответ

7

Загрузите версию Maven, которая поддерживает JDK 6 или высоту, вы можете увидеть в Maven Release History. Я загрузил версию 3.2.5.

После этого откройте Eclipse, Mars> Window> Preferences> Maven> Установки и добавить Maven 3.2.5, что нажмите кнопку Применить затем ОК

+1

Как описано выше, использование самого старого внешнего компонента maven (скомпилировано с 1.6) не решает проблема в том, что плагин, используемый Марсом, скомпилирован с 1.7. Возвращение к Луне на данный момент является единственным решением. – Pindi

+0

Ну ... У меня была такая же проблема с Mars и проектом maven, скомпилированным с JDK 6. Я сделал эти шаги, и он работает в моем случае – arthurfnsc

+1

Хорошо, проблема, похоже, решена, установив правильное время выполнения maven в конкретные " Запустите конфигурацию ". Спасибо, arthurfnsc! – Pindi

2

Вернитесь к Луне. Шутки в сторону. =)

Вы действительно хотите попробовать Марс? Хорошо, продолжайте ...

Во-первых, загрузите версию затмения для разработчиков, не являющихся java (для разработчиков c/C++ нужно сделать трюк).

Во-вторых, установите «Инструменты разработки Java Eclipse» (выберите «Установить новое программное обеспечение ...» в меню «Справка»). Перезапустить затмение.

Теперь откройте это же окно снова. Добавьте репозиторий из проекта m2e (http://download.eclipse.org/technology/m2e/releases), снимите флажок «Показывать только последние версии доступного программного обеспечения» и проверьте версию 1.5.x с плагина m2e (в настоящее время 1.5.2.20150414-2215). Перезапустите eclipse снова.

Наслаждайтесь (и удачи).

0

m2e плагин версии> = 1,6 не поддерживает Maven 2. Если вы хотите установить плагин m2e 1.5.x в Eclipse, Марс с m2e 1.6 уже установлен (см грести "Maven интеграции для Eclipse" в https://eclipse.org/downloads/compare.php?release=mars.) вы должны:

  1. скачать Затмение Луны пакет с установленным "Maven интеграции для Затмения";
  2. копия все банки и каталоги из

    ${eclipse_luna}\plugins 
    

    , начинающиеся с префикса org.eclipse.m2e к

    ${eclipse_mars}\plugins; 
    
  3. в

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

    удалить все строки, начинающиеся с org.eclipse .m2e prefix и copy-paste все строки, начинающиеся с org.eclipse.m2e от

    ${eclipse_luna}\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info 
    

Помните, чтобы не обновлять «Maven интеграции для Eclipse,» особенность, потому что она, вероятно, перезаписать выше изменений.

Смежные вопросы