webentwicklung-frage-antwort-db.com.de

Bei der Ausführung von org.Apache.maven.plugins: maven-war-plugin: 2.1.1: war eine erforderliche Klasse nicht vorhanden

Hier ist mein Ergebnis von clean install -x:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building test Maven Webapp 0.0.1-SNAPSHOT
[INFO] ------------------------------------------------------------------------
[INFO] 
[INFO] --- maven-clean-plugin:2.5:clean (default-clean) @ test ---
[INFO] Deleting C:\Users\utopcu\workspace\test\target
[INFO] 
[INFO] --- maven-resources-plugin:2.6:resources (default-resources) @ test ---
[WARNING] Using platform encoding (Cp1254 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 0 resource
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:compile (default-compile) @ test ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-resources-plugin:2.6:testResources (default-testResources) @ test ---
[WARNING] Using platform encoding (Cp1254 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] skip non existing resourceDirectory C:\Users\utopcu\workspace\test\src\test\resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.5.1:testCompile (default-testCompile) @ test ---
[INFO] No sources to compile
[INFO] 
[INFO] --- maven-surefire-plugin:2.12.4:test (default-test) @ test ---
[INFO] No tests to run.
[INFO] 
[INFO] --- maven-war-plugin:2.1.1:war (default-war) @ test ---
[WARNING] Error injecting: org.Apache.maven.plugin.war.WarMojo
Java.lang.NoClassDefFoundError: org/Apache/maven/shared/filtering/MavenFilteringException
    at Java.lang.Class.getDeclaredConstructors0(Native Method)
    at Java.lang.Class.privateGetDeclaredConstructors(Class.Java:2483)
    at Java.lang.Class.getDeclaredConstructors(Class.Java:1891)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.Java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.Java:99)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.Java:653)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.Java:863)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBindingRecursive(InjectorImpl.Java:790)
    at com.google.inject.internal.InjectorImpl.getJustInTimeBinding(InjectorImpl.Java:278)
    at com.google.inject.internal.InjectorImpl.getBindingOrThrow(InjectorImpl.Java:210)
    at com.google.inject.internal.InjectorImpl.getProviderOrThrow(InjectorImpl.Java:986)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.Java:1019)
    at com.google.inject.internal.InjectorImpl.getProvider(InjectorImpl.Java:982)
    at com.google.inject.internal.InjectorImpl.getInstance(InjectorImpl.Java:1032)
    at org.Eclipse.sisu.reflect.AbstractDeferredClass.get(AbstractDeferredClass.Java:44)
    at com.google.inject.internal.ProviderInternalFactory.provision(ProviderInternalFactory.Java:86)
    at com.google.inject.internal.InternalFactoryToInitializableAdapter.provision(InternalFactoryToInitializableAdapter.Java:55)
    at com.google.inject.internal.ProviderInternalFactory$1.call(ProviderInternalFactory.Java:70)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.Java:100)
    at org.Eclipse.sisu.plexus.lifecycles.PlexusLifecycleManager.onProvision(PlexusLifecycleManager.Java:134)
    at com.google.inject.internal.ProvisionListenerStackCallback$Provision.provision(ProvisionListenerStackCallback.Java:109)
    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:47)
    at com.google.inject.internal.InjectorImpl$2$1.call(InjectorImpl.Java:997)
    at com.google.inject.internal.InjectorImpl.callInContext(InjectorImpl.Java:1047)
    at com.google.inject.internal.InjectorImpl$2.get(InjectorImpl.Java:993)
    at com.google.inject.Scopes$1$1.get(Scopes.Java:59)
    at org.Eclipse.sisu.locators.LazyBeanEntry.getValue(LazyBeanEntry.Java:82)
    at org.Eclipse.sisu.plexus.locators.LazyPlexusBean.getValue(LazyPlexusBean.Java:52)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:259)
    at org.codehaus.plexus.DefaultPlexusContainer.lookup(DefaultPlexusContainer.Java:251)
    at org.Apache.maven.plugin.internal.DefaultMavenPluginManager.getConfiguredMojo(DefaultMavenPluginManager.Java:459)
    at org.Apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.Java:97)
    at org.Apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.Java:208)
    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:318)
    at org.Apache.maven.DefaultMaven.execute(DefaultMaven.Java:153)
    at org.Apache.maven.cli.MavenCli.execute(MavenCli.Java:555)
    at org.Apache.maven.cli.MavenCli.doMain(MavenCli.Java:214)
    at org.Apache.maven.cli.MavenCli.main(MavenCli.Java:158)
    at Sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at Sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.Java:57)
    at Sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.Java:43)
    at Java.lang.reflect.Method.invoke(Method.Java:606)
    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:414)
    at org.codehaus.plexus.classworlds.launcher.Launcher.main(Launcher.Java:357)
    at org.codehaus.classworlds.Launcher.main(Launcher.Java:47)
Caused by: Java.lang.ClassNotFoundException: org.Apache.maven.shared.filtering.MavenFilteringException
    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)
    ... 55 more
[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 3.342s
[INFO] Finished at: Mon Aug 26 14:09:27 EEST 2013
[INFO] Final Memory: 11M/105M
[INFO] ------------------------------------------------------------------------
[ERROR] Failed to execute goal org.Apache.maven.plugins:maven-war-plugin:2.1.1:war (default-war) on project test: Execution default-war of goal org.Apache.maven.plugins:maven-war-plugin:2.1.1:war failed: A required class was missing while executing org.Apache.maven.plugins:maven-war-plugin:2.1.1:war: org/Apache/maven/shared/filtering/MavenFilteringException
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.Apache.maven.plugins:maven-war-plugin:2.1.1
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/plugins/maven-war-plugin/2.1.1/maven-war-plugin-2.1.1.jar
[ERROR] urls[1] = file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/reporting/maven-reporting-api/2.0.6/maven-reporting-api-2.0.6.jar
[ERROR] urls[2] = file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/doxia/doxia-sink-api/1.0-alpha-7/doxia-sink-api-1.0-alpha-7.jar
[ERROR] urls[3] = file:/C:/Users/utopcu/.m2/repository/commons-cli/commons-cli/1.0/commons-cli-1.0.jar
[ERROR] urls[4] = file:/C:/Users/utopcu/.m2/repository/org/codehaus/plexus/plexus-interactivity-api/1.0-alpha-4/plexus-interactivity-api-1.0-alpha-4.jar
[ERROR] urls[5] = file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/maven-archiver/2.4.1/maven-archiver-2.4.1.jar
[ERROR] urls[6] = file:/C:/Users/utopcu/.m2/repository/org/codehaus/plexus/plexus-archiver/1.2/plexus-archiver-1.2.jar
[ERROR] urls[7] = file:/C:/Users/utopcu/.m2/repository/org/codehaus/plexus/plexus-io/1.0.1/plexus-io-1.0.1.jar
[ERROR] urls[8] = file:/C:/Users/utopcu/.m2/repository/org/codehaus/plexus/plexus-interpolation/1.13/plexus-interpolation-1.13.jar
[ERROR] urls[9] = file:/C:/Users/utopcu/.m2/repository/junit/junit/3.8.1/junit-3.8.1.jar
[ERROR] urls[10] = file:/C:/Users/utopcu/.m2/repository/com/thoughtworks/xstream/xstream/1.3.1/xstream-1.3.1.jar
[ERROR] urls[11] = file:/C:/Users/utopcu/.m2/repository/xpp3/xpp3_min/1.1.4c/xpp3_min-1.1.4c.jar
[ERROR] urls[12] = file:/C:/Users/utopcu/.m2/repository/org/codehaus/plexus/plexus-utils/2.0.5/plexus-utils-2.0.5.jar
[ERROR] urls[13] = file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: org.Apache.maven.shared.filtering.MavenFilteringException
[ERROR] -> [Help 1]
[ERROR] 
[ERROR] To see the full stack trace of the errors, re-run Maven with the -e switch.
[ERROR] Re-run Maven using the -X switch to enable full debug logging.
[ERROR] 
[ERROR] For more information about the errors and possible solutions, please read the following articles:
[ERROR] [Help 1] http://cwiki.Apache.org/confluence/display/MAVEN/PluginContainerException

Und hier ist meine pom.xml:

<project xmlns="http://maven.Apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.Apache.org/POM/4.0.0 http://maven.Apache.org/maven-v4_0_0.xsd">
    <modelVersion>4.0.0</modelVersion>
    <groupId>trest</groupId>
    <artifactId>test</artifactId>
    <packaging>war</packaging>
    <version>0.0.1-SNAPSHOT</version>
    <name>test Maven Webapp</name>
    <url>http://maven.Apache.org</url>
    <dependencies>
        <dependency>
            <groupId>junit</groupId>
            <artifactId>junit</artifactId>
            <version>3.8.1</version>
            <scope>test</scope>
        </dependency>
    </dependencies>
    <build>
        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
            </plugin>
        </plugins>
    </build>
</project>

Ich habe versucht, Repositorys zu löschen und erneut zu installieren. Ich habe diesen Fehler immer bekommen. Anscheinend brauche ich Hilfe. Ich denke, mein Mojo-Plugin ist defekt, aber ich habe es mehrmals installiert. Irgendwelche Vorschläge?

15
Ufuk Alp Topçu

Existiert die Klasse org.Apache.maven.shared.filtering.MavenFilteringException in file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar?

Die Fehlermeldung weist darauf hin, dass dies nicht der Fall ist. Vielleicht war das Glas irgendwie beschädigt.

Ich frage mich auch, woher die Version 1.0-beta-2 kommt. Ich habe 1.0 auf meiner Festplatte. Testen Sie die Version 2.3 des WAR-Plugins.

15
Aaron Digulla

Löschen Sie den Maven-Ordner unter ~/.m2/repository/org/Apache/maven und erstellen Sie Ihr Projekt erneut, um das Herunterladen der Maven-Bibliotheken zu erzwingen. Das funktionierte für mich, als ich das letzte Mal mit Java.lang.NoClassDefFoundError konfrontiert wurde: org/Apache/maven/shared/filters/MavenFilteringException.

11
Eduardo Costa

Konfrontiert mit demselben Problem und behoben, indem mein Maven von 3.0.4 auf 3.1.1 aktualisiert wurde. Bitte versuchen Sie es mit v3.1.1 oder einer höheren Version, falls verfügbar

3
Subash P

Sie sollten maven-resources-plugin in Ihre pom.xml -Datei einfügen. Das Löschen von ~/.m2/repository funktioniert nicht immer. 

        <plugins>
            <plugin>
                <groupId>org.Apache.maven.plugins</groupId>
                <artifactId>maven-resources-plugin</artifactId>
                <version>2.4</version>
            </plugin>
        </plugins>

Bauen Sie jetzt Ihr Projekt erneut auf. Es sollte erfolgreich sein!

Dies sollte den Fehler beheben

<plugin>
     <groupId>org.Apache.maven.plugins</groupId>
     <artifactId>maven-resources-plugin</artifactId>
     <version>2.7</version>
     <dependencies>
         <dependency>
             <groupId>org.Apache.maven.shared</groupId>
             <artifactId>maven-filtering</artifactId>
             <version>1.3</version>
          </dependency>
      </dependencies>
</plugin>
2
sabbir

dies geschah auch bei mir, nachdem ich das fehlende Versions-Tag zu dem Maven-War-Plugin hinzugefügt hatte (nicht sicher, welche Version standardmäßig verwendet wurde, ich habe die neueste Version, in meinem Fall 2.6, geändert). Ich musste .m2/repository löschen, damit der Build erneut erfolgreich war.

Ich habe zuerst versucht, den Maven-Filter-Ordner zu säubern (im Repo), aber statt einer MavenFilterException erhielt ich eine ArchiverException .. _. Daher kam ich zu dem Schluss, dass das lokale Repository beschädigt war (für ein Versions-Upgrade?) Und alles gelöscht wurde.

Das hat es für mich behoben. Reinigen Sie einfach Ihr lokales Repo. 

2
user2560528

Meine Lösung unten ist für Fälle, in denen nicht auf Standard-Maven-Repositorys zugegriffen werden kann (z. B. aufgrund von Firewalls).

Falls das Standard-Repository nicht verfügbar ist, muss in der Datei "settings.xml" der entsprechende lokale <pluginRepository> angegeben werden. Wenn es das gleiche wie Ihr lokales Artefakt-Repository ist, muss es noch zum Abschnitt <pluginRepositories> hinzugefügt werden, damit Plugin-Jar gefunden werden kann. Der reguläre <repositories>-Abschnitt wird nicht zum Abrufen von Plug-In-Gläsern verwendet.

In meinem Fall wurde das Problem jedoch dadurch verursacht, dass in diesem Abschnitt mehrere Repositorys für Plugins definiert waren.

Das erste Repository in der Liste enthielt nicht das erforderliche Maven-Filtergefäß.

Ich musste die Reihenfolge der <pluginRepository>-Definitionen ändern, um sicherzustellen, dass die erste eine Maven-Filterung enthält.

Das Ändern von Repository-Definitionen erfordert normalerweise das Bereinigen von ~/.m2/Repository und einen Neustart.

0
ATrubka