web-dev-qa-db-fra.com

Une classe requise manquait lors de l'exécution de org.Apache.maven.plugins: maven-war-plugin: 2.1.1: war

Voici le résultat de mon installation propre -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

Et voici mon 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>

J'ai essayé de supprimer les dépôts et de réinstaller. J'ai toujours cette erreur. On dirait que j'ai besoin d'aide. Je pense que mon plugin mojo est cassé mais je l’ai installé plusieurs fois. Aucune suggestion?

15
Ufuk Alp Topçu

La classe org.Apache.maven.shared.filtering.MavenFilteringException existe-t-elle dans file:/C:/Users/utopcu/.m2/repository/org/Apache/maven/shared/maven-filtering/1.0-beta-2/maven-filtering-1.0-beta-2.jar?

Le message d'erreur suggère que ce n'est pas le cas. Peut-être que le pot était corrompu d'une manière ou d'une autre.

Je me demande aussi d'où vient la version 1.0-beta-2; J'ai 1.0 sur mon disque. Essayez la version 2.3 du plugin WAR.

15
Aaron Digulla

Essayez de supprimer le dossier maven dans ~/.m2/repository/org/Apache/maven et générez votre projet à nouveau pour forcer le téléchargement des bibliothèques Maven. Cela a fonctionné pour moi la dernière fois que j'ai affronté cette exception Java.lang.NoClassDefFoundError: org/Apache/maven/shared/filtering/MavenFilteringException.

11
Eduardo Costa

Face au même problème et résolu en mettant à niveau mon Maven de 3.0.4 à 3.1.1. S'il vous plaît essayer avec v3.1.1 ou toute version supérieure si disponible

3
Subash P

Vous devez ajouter maven-resources-plugin dans votre fichier pom.xml . La suppression de ~/.m2/repository ne fonctionne pas toujours. 

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

Maintenant, construisez à nouveau votre projet. Ça devrait être réussi!

2

Cela devrait corriger l'erreur

<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

cela m'est aussi arrivé après avoir ajouté la balise de version manquante au plug-in maven-war-plugin (je ne sais pas quelle version était utilisée par défaut, j'ai changé pour la dernière, 2.6 dans mon cas). Je devais effacer .m2/repository pour que la compilation réussisse à nouveau.

J'ai d'abord essayé de nettoyer le dossier maven-filtering (dans le référentiel), mais au lieu d'une exception MavenFilterException, je recevais un ArchiverException . J'ai donc conclu que le référentiel local était corrompu (pour une mise à niveau de version?) Et que j'ai tout supprimé.

Cela a réglé le problème pour moi. Il suffit de nettoyer votre dépôt local. 

2
user2560528

Ma solution ci-dessous concerne les cas où les référentiels Maven par défaut ne sont pas accessibles (en raison, par exemple, de pare-feu).

Si le référentiel par défaut n'est pas accessible, le <pluginRepository> local approprié doit être spécifié dans le fichier settings.xml. S'il s'agit de la même chose que votre référentiel d'artefacts local, vous devez toujours l'ajouter à la section <pluginRepositories> pour pouvoir trouver les fichiers jar de plug-in. La section <repositories> standard n'est pas utilisée pour récupérer des fichiers jar de plug-in.

Dans mon cas, cependant, le problème était dû au fait qu'il y avait plusieurs référentiels de plugins définis dans cette section.

Le premier référentiel de la liste ne contenait pas le fichier jar de filtrage maven requis.

Je devais changer l'ordre des définitions <pluginRepository> pour m'assurer que le premier contenait le filtrage maven.

Changer les définitions d'un référentiel nécessite généralement de nettoyer ~/.m2/repository et de recommencer à zéro.

0
ATrubka