Échec de l'exécution de l'objectif org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (default-compile)

130

J'utilise Maven 3.0.5 et Spring Tool Source 3.2 avec le plugin Maven installé. Lorsque j'essaie de faire `` Exécuter en tant que ---> Installation de Maven '', j'obtiens l'erreur suivante:

[INFO] Scanning for projects...
[INFO]                                                                         
[INFO] ------------------------------------------------------------------------
[INFO] Building Spring Social Twitter4J Sample 1.0.0
[INFO] ------------------------------------------------------------------------
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-war-plugin:jar:2.1.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[WARNING] The POM for org.apache.maven.plugins:maven-install-plugin:jar:2.3.1 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
[INFO] 
[INFO] --- maven-resources-plugin:2.5:resources (default-resources) @ spring-social-twitter4j ---
[debug] execute contextualize
[WARNING] Using platform encoding (Cp1252 actually) to copy filtered resources, i.e. build is platform dependent!
[INFO] Copying 15 resources
[INFO] 
[INFO] --- maven-compiler-plugin:2.3.2:compile (default-compile) @ spring-social-twitter4j ---
[WARNING] The POM for org.apache.maven.plugins:maven-compiler-plugin:jar:2.3.2 is invalid, transitive dependencies (if any) will not be available, enable debug logging for more details
Jun 21, 2013 2:14:32 AM org.sonatype.guice.bean.reflect.Logs$JULSink warn
WARNING: Error injecting: org.apache.maven.plugin.CompilerMojo
**java.lang.NoClassDefFoundError: org/codehaus/plexus/compiler/CompilerException**
    at java.lang.Class.getDeclaredConstructors0(Native Method)
    at java.lang.Class.privateGetDeclaredConstructors(Unknown Source)
    at java.lang.Class.getDeclaredConstructors(Unknown Source)
    at com.google.inject.spi.InjectionPoint.forConstructorOf(InjectionPoint.java:245)
    at com.google.inject.internal.ConstructorBindingImpl.create(ConstructorBindingImpl.java:98)
    at com.google.inject.internal.InjectorImpl.createUninitializedBinding(InjectorImpl.java:629)
    at com.google.inject.internal.InjectorImpl.createJustInTimeBinding(InjectorImpl.java:831)
    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.apache.maven.plugin.DefaultBuildPluginManager.executeMojo(DefaultBuildPluginManager.java:92)
    at org.apache.maven.lifecycle.internal.MojoExecutor.execute(MojoExecutor.java:209)
    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(Unknown Source)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source)
    at java.lang.reflect.Method.invoke(Unknown Source)
    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: java.lang.ClassNotFoundException: org.codehaus.plexus.compiler.CompilerException
    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)
    ... 54 more

[INFO] ------------------------------------------------------------------------
[INFO] BUILD FAILURE
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 2.749s
[INFO] Finished at: Fri Jun 21 02:14:32 IST 2013
[INFO] Final Memory: 4M/15M
[INFO] ------------------------------------------------------------------------
**[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile (default-compile) on project spring-social-twitter4j: Execution default-compile of goal org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile failed: A required class was missing while executing org.apache.maven.plugins:maven-compiler-plugin:2.3.2:compile: org/codehaus/plexus/compiler/CompilerException**
[ERROR] -----------------------------------------------------
[ERROR] realm =    plugin>org.apache.maven.plugins:maven-compiler-plugin:2.3.2
[ERROR] strategy = org.codehaus.plexus.classworlds.strategy.SelfFirstStrategy
[ERROR] urls[0] = file:/C:/Users/SS%20Computer/.m2/repository/org/apache/maven/plugins/maven-compiler-plugin/2.3.2/maven-compiler-plugin-2.3.2.jar
[ERROR] urls[1] = file:/C:/Users/SS%20Computer/.m2/repository/org/codehaus/plexus/plexus-utils/1.1/plexus-utils-1.1.jar
[ERROR] Number of foreign imports: 1
[ERROR] import: Entry[import  from realm ClassRealm[maven.api, parent: null]]
[ERROR] 
[ERROR] -----------------------------------------------------: org.codehaus.plexus.compiler.CompilerException
[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

Veuillez trouver ci-dessous mon pom.xml:

<?xml version="1.0" encoding="UTF-8"?>
<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>org.springframework.social.samples</groupId>
    <artifactId>spring-social-twitter4j</artifactId>
    <name>Spring Social Twitter4J Sample</name>
    <packaging>war</packaging>
    <version>1.0.0</version>
    <properties>
        <java-version>1.6</java-version>
        <org.springframework.social-version>1.1.0.BUILD-SNAPSHOT</org.springframework.social-version>
        <org.springframework-version>3.2.1.RELEASE</org.springframework-version>
        <org.springframework.security-version>3.1.3.RELEASE</org.springframework.security-version>
        <org.slf4j-version>1.7.2</org.slf4j-version>
    </properties>
    <dependencies>
        <!-- Spring -->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${org.springframework-version}</version>
            <exclusions>
                <!-- Exclude Commons Logging in favor of SLF4j -->
                <exclusion>
                    <groupId>commons-logging</groupId>
                    <artifactId>commons-logging</artifactId>
                 </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-webmvc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-jdbc</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
            <version>${org.springframework-version}</version>
        </dependency>               
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-taglibs</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${org.springframework.security-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-core</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.social</groupId>
            <artifactId>spring-social-web</artifactId>
            <version>${org.springframework.social-version}</version>
        </dependency>

        <!-- Twitter4J -->
        <dependency>
            <groupId>org.twitter4j</groupId>
            <artifactId>twitter4j-core</artifactId>
            <version>2.2.3</version>
        </dependency>

        <!-- JSR 303 with Hibernate Validator -->
        <dependency>
            <groupId>javax.validation</groupId>
            <artifactId>validation-api</artifactId>
            <version>1.0.0.GA</version>
        </dependency>
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-validator</artifactId>
            <version>4.1.0.Final</version>
        </dependency>

        <!-- Logging -->
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-api</artifactId>
            <version>${org.slf4j-version}</version>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>jcl-over-slf4j</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>org.slf4j</groupId>
            <artifactId>slf4j-log4j12</artifactId>
            <version>${org.slf4j-version}</version>
            <scope>runtime</scope>
        </dependency>
        <dependency>
            <groupId>log4j</groupId>
            <artifactId>log4j</artifactId>
            <version>1.2.16</version>
            <scope>runtime</scope>
        </dependency>

        <dependency>
            <groupId>com.h2database</groupId>
            <artifactId>h2</artifactId>
            <version>1.3.159</version>
        </dependency>

        <!-- @Inject -->
        <dependency>
            <groupId>javax.inject</groupId>
            <artifactId>javax.inject</artifactId>
            <version>1</version>
        </dependency>

        <!-- CGLIB, only required and used for @Configuration usage -->
        <dependency>
            <groupId>cglib</groupId>
            <artifactId>cglib-nodep</artifactId>
            <version>2.2</version>
        </dependency>

        <!-- Servlet -->
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp</groupId>
            <artifactId>jsp-api</artifactId>
            <version>2.1</version>
            <scope>provided</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet.jsp.jstl</groupId>
            <artifactId>jstl-api</artifactId>
            <version>1.2</version>
        </dependency>
        <dependency>
            <groupId>org.glassfish.web</groupId>
            <artifactId>jstl-impl</artifactId>
            <version>1.2</version>
        </dependency>
    </dependencies>
    <repositories>
        <repository>
            <id>org.springframework.maven.release</id>
            <name>Spring Maven Release Repository</name>
            <url>http://maven.springframework.org/release</url>
            <releases><enabled>true</enabled></releases>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
        <!-- For testing against latest Spring snapshots -->
        <repository>
            <id>org.springframework.maven.snapshot</id>
            <name>Spring Maven Snapshot Repository</name>
            <url>http://maven.springframework.org/snapshot</url>
            <releases><enabled>false</enabled></releases>
            <snapshots><enabled>true</enabled></snapshots>
        </repository>
        <!-- For developing against latest Spring milestones -->
        <repository>
            <id>org.springframework.maven.milestone</id>
            <name>Spring Maven Milestone Repository</name>
            <url>http://maven.springframework.org/milestone</url>
            <snapshots><enabled>false</enabled></snapshots>
        </repository>
    </repositories>
    <build>
        <resources>
            <resource>
                <directory>src/main/java</directory>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-compiler-plugin</artifactId>
                <version>2.3.2</version>                
                <configuration>
                    <source>${java-version}</source>
                    <target>${java-version}</target>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-war-plugin</artifactId>
                <version>2.1.1</version>
                <configuration>
                    <warName>spring-social-twitter4j</warName>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.codehaus.mojo</groupId>
                <artifactId>tomcat-maven-plugin</artifactId>
                <version>1.1</version>
            </plugin>
        </plugins>
    </build>
</project>

Pendant l'installation de maven, mon objectif est war:warde créer WAR de mon application.

Rushi Shah
la source
assurez-vous que vous utilisez java 8
Archmede
2
@EugeneHoza codehaus JIRA est fermé et votre lien est mort. Voyez-vous maintenant pourquoi les liens ne devraient jamais être la seule information?
naXa
J'ai eu cette erreur en passant du printemps 2.2.7 au 2.3.1
Ravi Parekh

Réponses:

136

La suppression .m2/repositorydu référentiel local complet a résolu mon problème.

Sinon, vous devez savoir quels plugins utilisez-vous exactement avec leurs dépendances, car l'un des plugins a rencontré un problème lors du téléchargement.

Prateek Batla
la source
2
J'ai supprimé par le répertoire repository / org et tout a bien fonctionné après cela
dannrob
J'ai renommé mon ".M2 / Repository", ce n'est pas du tout une erreur. Voyons voir.
InfantPro'Aravind '23
13
devrait être supprimée .m2/repositorypour ne pas supprimer settings.xmldans le .m2répertoire
Mike D
3
rm -rf rm -rf ~/.m2/repository/org/apache/travaille pour moi.
wener
Similaire à ce que @wener a suggéré, j'ai supprimé le dossier ~ / .m2 \ repository \ org \ apache \ maven et j'ai travaillé pour moi.
Edu Costa
122

La suppression du référentiel local .m2 complet a également résolu mon problème.

Si vous ne savez pas où il se trouve, les emplacements sont:

Unix/Mac OS X  ~/.m2/repository
Windows  C:\Documents and Settings\{your-username}\.m2\repository 
        ( %USERPROFILE%\.m2\repository too, as suggested by **MC Empero** )
Lucas Gomes
la source
3
Notez que, sous Windows, la saisie %USERPROFILE%vous mènera à votre répertoire de profil où .m2se trouve le dossier.
MC Emperor
Quelqu'un sait pourquoi ce problème se produit? J'ai le même problème et supprimer le répertoire le résout.
emmmphd
@MCEmperor Merci! Je l'ai trouvé supprimé, et cela fonctionne maintenant.
DIRTY DAVE
48

J'ajoute plus de points à la solution par @Rushi Shah

mvn clean install -X aide à identifier la cause profonde.

Certaines des phases importantes du cycle de vie de construction de Maven sont:

clean- le projet est exempt de tous les artefacts provenant des compilations précédentes compile- le projet est compilé dans le répertoire / target de la racine du projet install- l'archive empaquetée est copiée dans le référentiel maven local (pourrait dans le répertoire personnel de votre utilisateur sous /.m2) test- les tests unitaires sont run package- les sources compilées sont empaquetées dans l'archive (JAR par défaut)

La balise 1.6 under fait référence à la version JDK. Nous devons nous assurer que la bonne version de jdk dans notre environnement de développement ou changer la valeur en 1.7 ou 1.5 ou autre si l'application peut être prise en charge dans cette version de JDK.

<build>
    <plugins>
        <plugin>
            <groupId>org.apache.maven.plugins</groupId>
            <artifactId>maven-compiler-plugin</artifactId>
            <version>3.0</version>
            <configuration>
                <source>1.6</source>
                <target>1.6</target>
            </configuration>
        </plugin>
    </plugins>
</build>

Nous pouvons trouver les détails complets sur le cycle de vie des builds Maven sur le site Maven.

Sree Rama
la source
29

J'ai eu le même problème, vérifiez le jre installé utilisé par Maven dans votre configuration d'exécution ...

Dans votre cas, je pense que le maven-compiler-plugin: jar: 2.3.2 a besoin d'un jdk1.6

Pour ce faire: Exécutez Configuration> YOUR_MAVEN_BUILD> JRE> Autre JREentrez la description de l'image ici

J'espère que cela t'aides.

jmj
la source
1
c'est la meilleure solution, a également fonctionné pour moi pas besoin de supprimer les fichiers je pense que c'est en fait ce qui causait le problème
Dunken
vous devez en informer le monde. car même lorsque je règle jre sur jdk dans les préférences windows->, cela ne fonctionne pas. mais votre réponse fonctionne.
divin
20

Parfois, cela est dû au fait que le projet pointe vers JRE plutôt que JDK.

1.Cliquez avec le bouton droit sur le projet -> Chemin de construction -> Configurer le chemin de construction -> Ajouter une bibliothèque -> Bibliothèque système JRE -> Environnements -> JRE installés -> Pointez sur le dossier java dans le lecteur c: (Windows ) et sélectionnez le dossier JDK et ok.

Supprimez le JRE déjà présent du chemin de génération.

Ashutosh S
la source
A parfaitement fonctionné !! Mise à jour: Dans Eclipse Java Oxygen, sur la page "Installed JREs", vous devez cliquer sur "Add ..." avant de pointer vers le dossier
gotube
Oui, cela a fonctionné pour moi aussi. Je pense que c'est une solution rapide pour supprimer le JRE existant et l'ajouter à nouveau.
Nikhil Lotke
6

Habituellement, définir maven-compiler-plugin suffit. ajoutez ce qui suit à la définition de votre plugin de compilation.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>
tapha
la source
Oui j'ai ajouté "<inherited> true </inherited>" dans mon pom.xml et quand je l'enregistre, j'obtiens l'exception suivante: Une erreur interne s'est produite lors de: "Mise à jour des dépendances Maven". org / apache / maven / shared / filtering / MavenFilteringException
Rushi Shah
8
J'ai enfin reçu la solution en exécutant la commande suivante: mvn clean install -X. Cela m'a donné la cause profonde. En fait, mon JAVA_HOME pointait vers JRE_HOME et le compilateur dans maven-compiler-plugin, il cherchait, est livré avec seulement JDK. J'ai donc installé JDK et mis à jour mon JAVA_HOME.
Rushi Shah
n'aide pas: [AVERTISSEMENT] Impossible de détecter automatiquement le chemin «javac», en utilisant «javac» de l'environnement.
MemLeak
5

Parfois, ce problème vient du fait que la version java.version que vous avez mentionnée dans POM.xml n'est pas celle installée sur votre machine.

<properties>
    <java.version>1.7</java.version>
</properties>

Assurez-vous de mentionner exactement la même version dans votre pom.xml que les versions jdk et jre présentes sur votre machine.

Harshad Holkar
la source
Merci… Cette réponse m'a donné l'idée que dans mon cas, le problème avait quelque chose à voir avec la version de Java. Il s'avère que Java 9 et Java 8 étaient installés sur macOS. Supprimé Java 9, maintenant Maven fonctionne bien. Voir ma réponse .
Basil Bourque
5

J'ai eu ce problème une fois, et voici comment je l'ai résolu:

  • Étape 1 Nettoyez votre
    .m2 / référentiel

  • Étape 2: exécutez la commande maven (par exemple mvn clean verify) à partir du terminal à l'emplacement actuel du projet (où se trouve le fichier pom.xml de votre projet) au lieu d'exécuter maven depuis eclipse.
  • nityanarayan44
    la source
    Cela a aggravé la situation
    karlihnos
    2

    En fait, si vous ne voulez pas supprimer votre .m2 / repository / ... local et que vous avez une copie téléchargée de Maven depuis Apache, vous pouvez faire en sorte qu'Eclipse / STS utilise ce Maven externe et vous pouvez modifier le {maven} \ conf \ settings.xml pour pointer votre localRepository vers un nouvel emplacement vide.

    <localRepository>C:\java\repository</localRepository>

    Bien sûr, vous aurez un nouveau référentiel avec tous les téléchargements de sources maven en plus de votre emplacement .m2 précédent.

    entrez la description de l'image ici

    iowatiger08
    la source
    2

    vérifiez l' endorsed.dirétiquette de propriété dans votre pom.xml.
    J'ai également eu ce problème et je l'ai résolu en modifiant la propriété.

    Exemple:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  
    venkad
    la source
    1
    • Téléchargez maven compiler plugin jar à partir de votre dépôt central n essayez
    • S'il échoue toujours, vérifiez votre version jdk, c'est parce que votre application est construite sur la version diff jdk
    Divya Guduru
    la source
    1

    Pour moi, redémarrer Eclipse a éliminé cette erreur!

    sau123
    la source
    1

    Je pense que vous avez deux façons de résoudre ce problème

    01. Définir les propriétés

    • Définir le chemin de construction Java comme jdk

    Cliquez avec le bouton droit sur le projet -> Chemin de construction Java -> onglet Sélectionner les bibliothèques -> Sélectionnez la bibliothèque système JRE -> Cliquez sur le bouton Modifier -> Cliquez sur les JRE installés -> ajoutez une coche à la case -> cliquez sur Modifier -> Cliquez sur Répertoire-> Sélectionnez jdk

    • Spécifiez le type de version de jdk que vous avez installé

    Cliquez avec le bouton droit sur le projet -> Facettes du projet -> cochez java et sélectionnez la version java-> Appliquer -> Ok

    • Mettre à jour le projet

    Faites un clic droit sur "projet" -> Allez dans Maven-> Mettre à jour

    02.Supprimer le fichier .m2

    Si vous ne pouvez pas résoudre votre problème en utilisant les deux sujets ci-dessus, obtenez cette action. Fermez votre projet. Supprimez votre dossier .m2 complet

    Comment infliger une amende au fichier .m2 (Windows)

    Allez dans Disque local (C) -> Utilisateurs -> Sélectionnez le nom de votre PC -> fichier. M2

    JustCode
    la source
    1

    Java 9 incompatible

    J'ai eu cette erreur en essayant d'appeler mvn installun projet.

    J'avais installé Java 9 sur macOS ainsi que Java 8 Update 144. Mon projet Maven invoquait apparemment Java 9 et échouait. Suppression de Java 9 de mon Mac, ne laissant que Java 8 en place. Maven est maintenant en train de construire mon projet avec bonheur.

    Utilisation d'Apache Maven 3.5.0 sur macOS Sierra.

    Basil Bourque
    la source
    0

    Vous pouvez peut-être ajouter cette dépendance à votre pom.xml. J'utilise cette méthode et je résous le problème!

    <dependency> 
        <groupId>org.apache.maven.plugins</groupId> 
        <artifactId>maven-resources-plugin</artifactId> 
        <version>2.3.2</version> 
    </dependency>
    FreeWong
    la source
    0

    pour les nouveaux utilisateurs sur Mac OS, recherchez le dossier .m2 et supprimez-le, il se trouve dans votre répertoire /Users/.m2 .

    vous ne verrez pas le dossier .m2 dans le Finder (Explorateur de fichiers), pour cet utilisateur, cette commande permet d'afficher les fichiers cachés de Mac

    $ defaults écrit com.apple.finder AppleShowAllFiles TRUE

    après cela, appuyez sur alt et cliquez sur finder-> relancer, vous pouvez voir /Users/.m2

    pour masquer à nouveau les fichiers, utilisez simplement cette $ defaults write com.apple.finder AppleShowAllFiles false

    Swadeshi
    la source
    0

    J'ai renommé le répertoire .m2, cela n'a pas encore aidé, j'ai donc installé le dernier sdk / jdk et redémarré eclipse. Cela a fonctionné.

    Il semble qu'un SDK était nécessaire et je n'avais installé qu'un JRE.

    Ce qui est étrange, car eclipse a travaillé sur la même machine pour un autre projet plus ancien.

    J'ai importé un deuxième projet maven et l'installation de Run / maven ne s'est terminée qu'après le redémarrage de eclipse. Alors peut-être qu'un simple redémarrage de l'éclipse était nécessaire.

    Importer encore un autre projet, et maven installj'ai dû faire deux fois avant que cela fonctionne même si j'avais redémarré eclipse.

    Additionneur
    la source
    0

    C'est vraiment incroyable d'être obligé d'effacer tout le contenu .m2 / référentiel. Je suggère de taper cette commande (sous Windows):

    mvn nettoyer

    mvn -X package> my_log_file.log

    La dernière commande active l'option Debug et redirige la sortie vers un fichier. Ouvrez le fichier et recherchez les mots clés ERREUR ou AVERTISSEMENT. Vous pouvez trouver ce genre d'expression:

    DEBUG] =======================================================================
    [WARNING] The POM for javax.servlet:javax.servlet-api:jar:4.0.0 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for javax.servlet:javax.servlet-api:4.0.0
    [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7)  @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7
    
    [WARNING] The POM for org.glassfish:javax.json:jar:1.0.4 is invalid, transitive dependencies (if any) will not be available: 1 problem was encountered while building the effective model for org.glassfish:javax.json:[unknown-version]
    [FATAL] Non-parseable POM C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom: processing instruction can not have PITarget with reserved xml name (position: END_TAG seen ...</profiles>\n\n</project>\n\n<?xml ... @160:7)  @ C:\Users\vifie\.m2\repository\net\java\jvnet-parent\3\jvnet-parent-3.pom, line 160, column 7

    Il est préférable dans ce cas de comprendre qu'il vous suffit de supprimer le répertoire C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3

    Relancez la compilation, le packaging et ainsi de suite:

    paquet mvn

    AVERTISSEMENT disparaître simplement parce que vous supprimez le fichier POM corrompu au bon emplacement et que vous devez le télécharger. Normalement, le nouveau fichier POM est meilleur.

    Le mode débogage vous donne souvent des messages avec des détails plus complets.

    Pourquoi je redirige le journal vers un fichier: Tout simplement parce que sur la console Windows, il n'y a pas assez de tampon pour stocker toutes les lignes et souvent vous ne pouvez pas voir toutes les lignes.

    Vifier Lockla
    la source
    0

    Nous avons tout essayé jusqu'à présent et cela a toujours échoué. L'erreur a également mentionné

    (default-war) sur le projet utilsJava: Erreur lors de l'assemblage de WAR: l'attribut webxml est requis

    La solution qui a finalement résolu le problème était d'ajouter ceci à POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Comme mentionné ici Erreur lors de l'assemblage de WAR - l'attribut webxml est requis

    Notre POM contient maintenant ceci:

    <plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>${maven-war-plugin.version}</version>
    <configuration>
    <failOnMissingWebXml>false</failOnMissingWebXml>
    <warName>${project.artifactId}</warName>
    <attachClasses>true</attachClasses>
    </configuration>
    </plugin>  
    RickInLosAngeles
    la source
    0

    Supprimez le code ci-dessous du pom.xml ou corrigez votre version java pour que cela fonctionne.

      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.0</version>
        <configuration>
          <source>1.6</source>
          <target>1.6</target>
        </configuration>
      </plugin>
    Sankara
    la source
    -2

    j'ai eu le même problème et en plus des configurations des messages ci-dessus,

                <plugin>
                <groupId>com.google.appengine</groupId>
                <artifactId>appengine-maven-plugin</artifactId>
                <version>1.9.32</version>
                <configuration>
                    <enableJarClasses>false</enableJarClasses>
                </configuration>
                <executions>
                    <execution>
                        <goals>
                            <goal>endpoints_get_discovery_doc</goal>
                        </goals>
                    </execution>
                </executions>
            </plugin>

    dans l'élément plugins dans pom.xml. Je pense que le problème était l'absence d' exécution -> objectif "endpoints_get_discovery_doc" dans certains cas comme le mien, donc cela a fonctionné pour moi.

    MRTC
    la source
    Bien que cet extrait de code puisse résoudre la question, inclure une explication aide vraiment à améliorer la qualité de votre message. N'oubliez pas que vous répondez à la question aux lecteurs à l'avenir et que ces personnes pourraient ne pas connaître les raisons de votre suggestion de code.
    yennsarah
    @Amy merci pour le tuyau, j'ai essayé d'expliquer et j'espère avoir réussi.
    MRTC