Фундаментальная ошибка, отображающая последнюю версию M2E полностью непригодной для использования?

Eclipse: Juno (3.8.0) M2E build: 1.2.0.20120903-1050

When I try to right click on a Maven Project and select Maven > Update Project... and then click OK , I get the following showstopping error:

'Обновление проекта Maven столкнулось с проблемой. Внутренняя ошибка   произошел во время: «Обновление проекта Maven».

Это прямо из коробки - значит, она должна быть принципиально нарушена? Эта ошибка представляет следующее исключение:

java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/archiver/jar/JarArchiver;
    at java.lang.Class.getDeclaredFields0(Native Method)
    at java.lang.Class.privateGetDeclaredFields(Unknown Source)
    at java.lang.Class.getDeclaredFields(Unknown Source)
    at com.google.inject.spi.InjectionPoint.getInjectionPoints(InjectionPoint.java:651)
    at com.google.inject.spi.InjectionPoint.forInstanceMethodsAndFields(InjectionPoint.java:358)
    at com.google.inject.internal.ConstructorBindingImpl.getInternalDependencies(ConstructorBindingImpl.java:155)
    at com.google.inject.internal.InjectorImpl.getInternalDependencies(InjectorImpl.java:585)
    at com.google.inject.internal.InjectorImpl.cleanup(InjectorImpl.java:542)
    at com.google.inject.internal.InjectorImpl.initializeJitBinding(InjectorImpl.java:528)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:833)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.java:758)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.java:255)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.java:204)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.java:954)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:987)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.java:950)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.java:1000)
    at org.sonatype.guice.bean.reflect.AbstractDeferredClass.get(AbstractDeferredClass.java:45)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.java:84)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.java:52)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.java:70)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:100)
    at org.sonatype.guice.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.java:138)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.java:108)
    at com.google.inject.internal.ProvisionListenerStackCallback.provision(ProvisionListenerStackCallback.java:55)
    at com.google.inject.internal.ProviderInternalFactory.circularGet(ProviderInternalFactory.java:68)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.get(InternalFactoryToInitializableAdapter.java:45)
    at com.google.inject.internal.InjectorImpl$3$1.call(InjectorImpl.java:965)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.java:1011)
    at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.java:961)
    at com.google.inject.Scopes$1$1.get(Scopes.java:59)
    at org.sonatype.guice.bean.locators.LazyBeanEntry.getValue(LazyBeanEntry.java:83)
    at org.sonatype.guice.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.java:49)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:253)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.java:245)
    at org.apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.java:455)
    at org.eclipse.m2e.core.internal.embedder.MavenImpl.getConfiguredMojo(MavenImpl.java:344)
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.reflectManifestGeneration(AbstractMavenArchiverConfigurator.java:406)
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.generateManifest(AbstractMavenArchiverConfigurator.java:364)
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:183)
    at org.sonatype.m2e.mavenarchiver.internal.AbstractMavenArchiverConfigurator.mavenProjectChanged(AbstractMavenArchiverConfigurator.java:170)
    at org.eclipse.m2e.core.internal.project.ProjectConfigurationManager.mavenProjectChanged(ProjectConfigurationManager.java:888)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.notifyProjectChangeListeners(ProjectRegistryManager.java:729)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.applyMutableProjectRegistry(ProjectRegistryManager.java:852)
    at org.eclipse.m2e.core.internal.project.registry.ProjectRegistryManager.refresh(ProjectRegistryManager.java:281)
    at org.eclipse.m2e.core.internal.project.registry.MavenProjectManager.refresh(MavenProjectManager.java:58)
    at org.eclipse.m2e.core.internal.builder.MavenBuilder.build(MavenBuilder.java:87)
    at org.eclipse.core.internal.events.BuildManager$2.run(BuildManager.java:728)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:199)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:239)
    at org.eclipse.core.internal.events.BuildManager$1.run(BuildManager.java:292)
    at org.eclipse.core.runtime.SafeRunner.run(SafeRunner.java:42)
    at org.eclipse.core.internal.events.BuildManager.basicBuild(BuildManager.java:295)
    at org.eclipse.core.internal.events.BuildManager.basicBuildLoop(BuildManager.java:351)
    at org.eclipse.core.internal.events.BuildManager.build(BuildManager.java:374)
    at org.eclipse.core.internal.events.AutoBuildJob.doBuild(AutoBuildJob.java:143)
    at org.eclipse.core.internal.events.AutoBuildJob.run(AutoBuildJob.java:241)
    at org.eclipse.core.internal.jobs.Worker.run(Worker.java:54)
Caused by: java.lang.ClassNotFoundException: org.codehaus.plexus.archiver.jar.JarArchiver
    at org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy.loadClass(SelfFirstStrategy.java:50)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:244)
    at org.codehaus.plexus.classworlds.realm.ClassRealm.loadClass(ClassRealm.java:230)
    at java.lang.ClassLoader.loadClassInternal(Unknown Source)
    ... 59 more
2
nl ja de
Создает ли проект и т. Д. Без проблем на comand-линии? mvn clena package?
добавлено автор khmarbaise, источник
Как вы импортировали проект в Eclipse через Import-> Existing Maven Project ?
добавлено автор khmarbaise, источник
Да - однако я использую плагин maven-ear, который создает возможный EAR и разворачивает его на сервер Weblogic. В Eclipse я не могу сделать абсолютно ничего, что бы ни было, без немедленного получения указанной выше трассировки стека. Похоже, что мэйн бросает его.
добавлено автор 8bitjunkie, источник
@khmarbaise yes Я импортировал проект таким образом
добавлено автор 8bitjunkie, источник

2 ответы

Я столкнулся с той же ошибкой.

Когда я впервые создал проект maven с использованием m2e, установка maven была настроена на мою локальную папку apache-maven-3.0.3.

Недавно я переключил идеал на весенний набор инструментов, в который был включен apache-maven-3.0.4. Поэтому вместо этого я использую 3.0.4, а затем ошибку «java.lang.NoClassDefFoundError: Lorg/codehaus/plexus/archiver/jar/JarArchiver;» появляется. Теперь я возвращаю конфигурацию к предыдущей версии maven, ошибка исчезает.

3
добавлено
Версия Maven (внешняя установка), которую я использовал, оставалась последовательной (v2.2.1) через плагины m2e. Однако затем я снова установил Eclipse и снова попробовал (в том числе обновление до сборки m2e, предоставленное в заголовке вопроса), и это сработало. Возможно, что JAR в моем репозитории .m2 и/или моя установка Eclipse стали коррумпированными.
добавлено автор 8bitjunkie, источник
@Mark, какой был вывод [спустя годы] хе-хе !?
добавлено автор Erdinc Ay, источник

Я использую m2e 1.2.0 без проблем, поэтому это должна быть локальная проблема на вашем ПК. Пытаться:

  1. Попробуйте перезагрузить Eclipse
  2. У коллеги была аналогичная проблема вчера на машине Linux. К моему удивлению, перезагрузка исправила его.
  3. Убедитесь, что файлы JAR в ~/.m2/repository/org/codehaus/plexus/plexus-archiver/ не повреждены.

Когда вы сделаете последний шаг, убедитесь, что вы смотрите в правильный репозиторий. Можно настроить два Maven (Eclipse и один в командной строке) по-разному. Проверьте настройки «Maven» в Eclipse для путей файлов настроек.

2
добавлено
Я принял этот ответ, потому что обнаружил, что повторная установка Eclipse (той же версии и того же варианта как плагина m2e, так и Maven в командной строке) устранила проблему. Я должен был предположить, что Eclipse и/или плагин сплетения стали коррумпированными. Это может быть вызвано удалением и добавлением переходных зависимостей при удалении старой версии m2e перед установкой последней.
добавлено автор 8bitjunkie, источник
IDE и редакторы — русскоговорящее сообщество
IDE и редакторы — русскоговорящее сообщество
393 участник(ов)

Общаемся, сравниваем и помогаем друг другу решать задачи с продуктами JetBrains, VS Code, Atom, vim, Emacs, Sublime и т.д. Всё в одном месте, ведь каждый из них хорош по своему. См. также: @js_ru, @typescript_ru, @react_js, @nodejs_ru, @javascript_jobs