wake-up-neo.net

Mojo 'test' kann nicht geladen werden - org.Apache.maven.plugins: maven-surefire-plugin: 3.0.0-M1: test

Ich baue meine Apps mit Maven-3 und ich denke, nach der automatischen Aktualisierung des Maven-Surefire-Plugins auf 3.0.0-M1 kann ich nicht bauen und bekomme die untenstehenden Fehler. 

Als ersten Schritt habe ich das Verzeichnis/org/Apache/maven in meinem Repository gelöscht. Ich stehe jedoch immer noch vor dem Problem. Kann mir jemand raten. Hinweis: Wenn ich das todsichere Plugin auf 2.x herunterstufen möchte, kann ich es bauen.

Fehlerprotokoll

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 15.444s
[INFO] Finished at: Thu Nov 08 16:04:53 GMT 2018
[INFO] Final Memory: 60M/704M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test (default-test) on project TEST_PROJECT: Execution default-test of goal org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test failed: Unable to load the mojo 'test' (or one of its required components) from the plugin 'org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1': com.google.inject.ProvisionException: Guice provision errors:
[ERROR] 
[ERROR] 1) No implementation for org.codehaus.plexus.languages.Java.jpms.LocationManager was bound.
[ERROR] while locating org.Apache.maven.plugin.surefire.SurefirePlugin
[ERROR] at ClassRealm[plugin>org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1, parent: [email protected]]
[ERROR] while locating org.Apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test)
[ERROR] 
[ERROR] 1 error
[ERROR] role: org.Apache.maven.plugin.Mojo
[ERROR] roleHint: org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test
[ERROR] -> [Help 1]
org.Apache.maven.lifecycle.LifecycleExecutionException: Failed to execute goal org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test (default-test) on project TEST_PROJECT: Execution default-test of goal org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test failed: Unable to load the mojo 'test' (or one of its required components) from the plugin 'org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1'
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:225)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:153)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:145)
    at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:84)
    at org.Apache.maven.lifecycle.internal.LifecycleModuleBuilder.buildProject(LifecycleModuleBuilder.Java:59)
    at org.Apache.maven.lifecycle.internal.LifecycleStarter.singleThreadedBuild(LifecycleStarter.Java:183)
    at org.Apache.maven.lifecycle.internal.LifecycleStarter.execute(LifecycleStarter.Java:161)
    at org.Apache.maven.DefaultMaven.doExecute(DefaultMaven.Java:320)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:156)
    at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:537)
    at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:196)
    at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:141)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:62)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:498)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launchEnhanced(Launcher.Java:290)
    at org.codehaus.plexus.classworlds.launcher.Launcher.launch(Launcher.Java:230)
    at org.codehaus.plexus.classworlds.launcher.Launcher.mainWithExitCode(Launcher.Java:409)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:352)
Caused by: org.Apache.maven.plugin.PluginExecutionException: Execution default-test of goal org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test failed: Unable to load the mojo 'test' (or one of its required components) from the plugin 'org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1'
    at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:115)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:209)
    ... 19 more
Caused by: org.Apache.maven.plugin.PluginContainerException: Unable to load the mojo 'test' (or one of its required components) from the plugin 'org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1'
    at org.Apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.Java:488)
    at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:92)
    ... 20 more
Caused by: org.codehaus.plexus.component.repository.exception.ComponentLookupException: com.google.inject.ProvisionException: Guice provision errors:

1) No implementation for org.codehaus.plexus.languages.Java.jpms.LocationManager was bound.
  while locating org.Apache.maven.plugin.surefire.SurefirePlugin
  at ClassRealm[plugin>org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1, parent: [email protected]]
  while locating org.Apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test)

1 error
      role: org.Apache.maven.plugin.Mojo
  roleHint: org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:257)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:245)
    at org.Apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.Java:455)
    ... 21 more
Caused by: com.google.inject.ProvisionException: Guice provision errors:

1) No implementation for org.codehaus.plexus.languages.Java.jpms.LocationManager was bound.
  while locating org.Apache.maven.plugin.surefire.SurefirePlugin
  at ClassRealm[plugin>org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1, parent: [email protected]]
  while locating org.Apache.maven.plugin.Mojo annotated with @com.google.inject.name.Named(value=org.Apache.maven.plugins:maven-surefire-plugin:3.0.0-M1:test)

1 error
    at com.google.inject.internal.InjectorImpl$3.get(InjectorImpl.Java:974)
    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)
    ... 23 more 
9
NGBeginner

Sie können Ihre Maven-Version auf die neueste Version 3.6.0 aktualisieren, um dieses Problem zu beheben. Dies kann ab Version 3.3.9 Maven kompatibel sein.

5
SomMS

Bei den Kommentaren zum Upgrade der Maven-Version haben wir unsere Maven-Version aktualisiert und konnten das Problem des todsicheren Plugins mit Maven 3.3.9 überwinden. Ich habe keine Probleme bekommen. 

5
Supun Malinga

Ich fand heraus, dass meine NetBeans einen sehr alten Maven (3.0.5) verwendeten, obwohl ich einen brandneuen Maven installiert hatte. 

Auf meinem Mac musste ich in das Menü "Netbeans/Preferences" gehen, die Registerkarte "Maven" auswählen und von "Bundled" wechseln, auf "Letzte" blättern und den obigen Fehler für mich beseitigen. 

3
TWitt

Ich hatte dieses Problem, bis ich herausfand, dass wir die Version des todsicheren Plugins nicht explizit angaben. Nachdem ich unsere pom.xml-Datei geändert habe, um die Version festzulegen, hat es funktioniert.

2
whomer

Ich stimme der Antwort von SomMS zu

Aber als FYI fand ich diesen Thread, sofort abgetan, dass die Maven-Version das Problem sein könnte, als ich gerade (letzte Woche) diesen RHEL baute VM und er war neu und glänzend ... 15 Minuten später habe ich mich entschlossen, die Maven-Version auf v3.0.5 zu überprüfen! Hoffentlich macht der nächste Kerl nicht den gleichen Fehler

Und wenn Sie sich fragen, wie Sie die installierte Version erhalten, versuchen Sie es

mvn --version
0
Patrick Cakes

Ich habe den Vorschlag von @ SomMS verwendet und Maven aktualisiert, um das Problem zu beheben. Es funktionierte.

Das Problem ist, dass zum Zeitpunkt des Schreibens die neueste Version von Maven, die auf CentOS 7 verfügbar ist, 3.0.5 (Standard-Repository) ist, was sehr alt ist (Februar 2013). Den meisten anderen Distributionen stehen übrigens neuere Maven-Versionen zur Verfügung.

Meine einzige Lösung bestand darin, einen manuellen Download durchzuführen und den Pfad zu seiner Binärdatei in PATH env-variable hinzuzufügen. Nachteil hier ist, dass jetzt rpm/yum nicht von seiner Existenz wissen.

0
Radu Murzea