Impossibile eseguire l'obiettivo org.apache.maven.plugins: maven-compilatore-plugin: 2.3.2: compilare (default-compilare)


130

Sto usando Maven 3.0.5 e Spring Tool Source 3.2 con il plugin Maven installato. Quando provo a fare "Esegui come ---> Installazione Maven", visualizzo il seguente errore:

[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

Di seguito trovi il mio 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>

Durante l'installazione maven il mio obiettivo è war:warquello di rendere WAR della mia applicazione.



assicurati di utilizzare java 8
Archmede

2
@EugeneHoza codehaus JIRA è chiuso e il tuo link è morto. Capisci ora perché i link non dovrebbero mai essere l'unica informazione?
naXa,

Ho ricevuto questo errore mentre mi spostavo dalla primavera 2.2.7 alla 2.3.1
Ravi Parekh il

Risposte:


136

Eliminazione completa .m2/repository repository locale risolto il mio problema.

Oppure devi sapere quali plug-in stai usando esattamente con le loro dipendenze poiché uno dei plug-in ha subito un problema durante il download.


2
Ho cancellato dalla directory repository / org e tutto ha funzionato bene dopo
dannrob,

Ho rinominato il mio ".M2 / Repository" non sta generando errori almeno .. vediamo.
InfantPro'Aravind '23

13
dovrebbe essere eliminato in .m2/repositorymodo da non eliminare settings.xmlin .m2dir
Mike D

3
rm -rf rm -rf ~/.m2/repository/org/apache/per me va bene.
Wener,

Simile a ciò che @wener ha suggerito di aver eliminato la cartella ~ / .m2 \ repository \ org \ apache \ maven e ha funzionato per me.
Edu Costa,

122

L'eliminazione del repository locale .m2 completo ha risolto anche il mio problema.

Se non sai dove si trova, le posizioni sono:

Unix/Mac OS X  ~/.m2/repository
Windows  C:\Documents and Settings\{your-username}\.m2\repository 
        ( %USERPROFILE%\.m2\repository too, as suggested by **MC Empero** )

3
Si noti che, in Windows, la digitazione %USERPROFILE%conduce alla directory del profilo in cui .m2si trova la cartella.
MC Emperor

Qualcuno sa perché questo problema si verifica? Ho lo stesso problema ed elimina la directory risolve.
emmmphd,

@MCEmperor Grazie! L'ho trovato cancellato e funziona ora.
DIRTY DAVE,

48

Sto aggiungendo altri punti alla soluzione di @Rushi Shah

mvn clean install -X aiuta a identificare la causa principale.

Alcune delle fasi importanti del ciclo di vita della build di Maven sono:

clean- il progetto è pulito da tutti i manufatti provenienti dalle compilazioni precedenti compile- il progetto è compilato nella directory / destinazione della radice del progetto install- l'archivio compresso è copiato nel repository di maven locale (potrebbe nella directory home dell'utente sotto /.m2) test- i test unitari sono run package- i sorgenti compilati sono impacchettati in archivio (JAR di default)

Il tag 1.6 under si riferisce alla versione JDK. Dobbiamo garantire la corretta versione di jdk nel nostro ambiente di sviluppo o cambiare il valore in 1.7 o 1.5 o qualsiasi altra cosa se l'applicazione può essere supportata in quella versione di 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>

Possiamo trovare i dettagli completi sul ciclo di vita della build di Maven nel sito di Maven.


29

Ho avuto lo stesso problema, controlla il jre installato utilizzato da Maven nella configurazione di esecuzione ...

Nel tuo caso, penso che il plugin-compilatore maven: jar: 2.3.2 abbia bisogno di un jdk1.6

Per fare ciò: Esegui Configurazione> YOUR_MAVEN_BUILD> JRE> JRE alternativoinserisci qui la descrizione dell'immagine

Spero che questo ti aiuti.


1
questa è la soluzione migliore, ha funzionato anche per me non è necessario eliminare i file, penso che questo sia effettivamente ciò che stava causando il problema
Dunken

devi far sapere al mondo questo. perché anche quando imposto jre su jdk nelle preferenze di windows->, non funziona. ma la tua risposta funziona.
divino il

20

A volte è causato dal fatto che il progetto punta a JRE piuttosto che a JDK.

1.Destra Fare clic sul progetto -> Percorso build -> Configura percorso build -> Aggiungi libreria -> Libreria di sistema JRE -> Ambienti -> JRE installati -> Punta alla cartella java in c: drive (Windows ) e selezionare la cartella JDK e ok.

2. Rimuovere il JRE già presente dal percorso di compilazione.


Ha funzionato perfettamente !! Aggiornamento: In Eclipse Java Oxygen, nella pagina "Installed JREs", devi fare clic su "Aggiungi ..." prima di puntare alla cartella
gotube,

Sì, ha funzionato anche per me. Penso che sia una soluzione rapida per rimuovere JRE esistente e aggiungerlo di nuovo.
Nikhil Lotke il

6

Di solito, definire maven-compilatore-plugin è sufficiente. aggiungere quanto segue alla definizione del plug-in del compilatore.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>

Sì, ho aggiunto "<inherited> true </inherited>" nel mio pom.xml e quando lo salvo, ottengo la seguente eccezione: Si è verificato un errore interno durante: "Aggiornamento delle dipendenze Maven". org / apache / maven / shared / filtering / MavenFilteringException
Rushi Shah

8
Ho finalmente ricevuto la soluzione eseguendo il seguente comando: mvn clean install -X. Mi ha dato la causa principale. In realtà il mio JAVA_HOME puntava a JRE_HOME e il compilatore in maven-compilatore-plugin, che stava cercando, viene fornito con solo JDK. Quindi, ho installato JDK e aggiornato il mio JAVA_HOME.
Rushi Shah,

non aiuta: [ATTENZIONE] Impossibile rilevare automaticamente il percorso 'javac', usando 'javac' dall'ambiente.
MemLeak,

5

A volte questo problema si presenta perché java.version che hai citato in POM.xml non è quello installato sul tuo computer.

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

Assicurati di menzionare esattamente la stessa versione nel tuo pom.xml della versione jdk e jre presente nel tuo computer.


Grazie ... Questa risposta mi ha dato l'idea che nel mio caso il problema avesse a che fare con la versione di Java. A quanto pare avevo Java 9 e Java 8 installati su macOS. Eliminato Java 9, ora Maven funziona bene. Vedere la mia risposta .
Basil Bourque,

5

Ho avuto questo problema una volta, ed è così che l'ho risolto:

  • Step-1 Pulisci il tuo
    .m2 / repository

  • Step-2 esegui il comando maven (ad esempio mvn clean verify) dal terminale nella posizione corrente del progetto (dove esiste il file pom.xml del tuo progetto) invece di eseguire maven da eclipse.

  • Ciò peggiorò la situazione
    karlihnos il

    2

    In realtà, se non vuoi cancellare il tuo .m2 / repository / ... locale e hai una copia scaricata di Maven da Apache, puoi fare in modo che Eclipse / STS utilizzi quel Maven esterno e puoi modificare {maven} \ conf \ settings.xml per puntare il tuo repository locale verso una nuova posizione vuota.

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

    Ovviamente, avrai un nuovo repository con tutti i download dei sorgenti di Maven in aggiunta alla tua precedente posizione .m2.

    inserisci qui la descrizione dell'immagine


    2

    controlla il endorsed.dirtag della proprietà nel tuo pom.xml.
    Ho avuto anche questo problema e ho risolto modificando la proprietà.

    Esempio:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  

    1
    • Scarica il jar del plugin del compilatore Maven dal tuo repository centrale e prova
    • Se il problema persiste, controlla la tua versione jdk, perché l'applicazione è costruita sulla versione diff jdk

    1

    Per me, il riavvio di Eclipse ha eliminato questo errore!


    1

    Penso che tu abbia due modi per risolvere questo problema

    01. Imposta proprietà

    • Imposta Java Build Path come jdk

    Progetto tasto destro del mouse -> Percorso build Java -> Seleziona la scheda Librerie -> Seleziona libreria di sistema JRE -> Fai clic sul pulsante Modifica -> Fai clic su JRE installati-> aggiungi spunta alla casella -> fai clic su Modifica -> Fai clic su Directory-> Seleziona jdk

    • Specifica quale tipo di versione jdk hai installato

    Fare clic con il tasto destro del mouse sul progetto -> Sfaccettature del progetto -> selezionare java e selezionare la versione java-> Applica -> Ok

    • Aggiorna progetto

    Fare clic con il tasto destro del mouse su "progetto" -> Vai a Maven-> Aggiorna

    02.Delete .m2 file

    Se non riesci a risolvere il problema utilizzando due argomenti precedenti, ottieni questa azione Chiudi il progetto. Elimina la tua cartella .m2 completa

    Come multato il file .m2 (windows)

    Vai su Disco locale (C) -> Utenti -> Seleziona il nome del tuo PC ->. M2 file


    1

    Java 9 incompatibile

    Ho ricevuto questo errore quando ho provato a chiamare mvn install un progetto.

    Avevo installato Java 9 su macOS e Java 8 Update 144. Il mio progetto Maven apparentemente stava invocando Java 9 e non funzionava. Rimosso Java 9 dal mio Mac, lasciando in posizione solo Java 8. Maven ora sta costruendo felicemente il mio progetto per il completamento con successo.

    Utilizzo di Apache Maven 3.5.0 su macOS Sierra.


    0

    Forse puoi aggiungere questa dipendenza al tuo pom.xml. Uso questo metodo e risolvo il problema!

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

    0

    per i nuovi utenti su Mac OS, scopri la cartella .m2 ed eliminala, si trova nella tua directory /Users/.m2 .

    non vedrai la cartella .m2 nel finder (Esplora file), per questo utente questo comando mostra i file nascosti del Mac

    $ defaults scrivi com.apple.finder AppleShowAllFiles TRUE

    dopo questo premi alt e fai clic su finder-> rilancio, puoi vedere /Users/.m2

    per nascondere nuovamente i file, basta usare questo $ defaults scrivere com.apple.finder AppleShowAllFiles su false


    0

    Ho rinominato la directory .m2, questo non ha ancora aiutato, quindi ho installato il più recente sdk / jdk e riavviato eclipse. Questo ha funzionato.

    Sembra che fosse necessario un SDK e che avevo installato solo un JRE.

    Il che è strano, perché l'eclissi ha funzionato sulla stessa macchina per un diverso progetto precedente.

    Ho importato un secondo progetto maven e l'installazione Run / maven è stata completata solo dopo il riavvio di eclipse. Quindi forse era necessario solo un riavvio di Eclipse.

    Importando ancora un altro progetto, e maven installho dovuto fare due volte prima che funzionasse anche se avevo riavviato l'eclissi.


    0

    È davvero incredibile essere obbligati a cancellare l'intero contenuto .m2 / repository. Suggerisco di digitare questo comando (su Windows):

    mvn pulito

    pacchetto mvn -X> my_log_file.log

    L'ultimo comando abilita l'opzione Debug e reindirizza l'output su un file. Apri il file e cerca le parole chiave ERROR o WARNING. Puoi trovare questo tipo di espressione:

    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

    In questo caso è chiaro che devi solo eliminare la directory C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3

    Riavvia compilation, packaging e così via:

    pacchetto mvn

    ATTENZIONE scompare solo perché si elimina il file POM danneggiato nella buona posizione e lo si scarica nuovamente. Normalmente il nuovo file POM è migliore.

    Spesso la modalità debug ti dà messaggi con dettagli più completi.

    Perché reindirizzare il registro su un file: semplicemente perché sulla console di Windows non c'è abbastanza buffer per archiviare tutte le linee e spesso non è possibile vedere tutte le linee.


    0

    Abbiamo provato tutto quanto elencato finora e non è ancora riuscito. L'errore ha anche menzionato

    (default-war) su project utilsJava: errore durante il montaggio di WAR: è richiesto l'attributo webxml

    La soluzione che alla fine l'ha risolto è stata l'aggiunta di questo a POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Come menzionato qui Errore nell'assemblaggio di WAR - è richiesto l'attributo webxml

    Il nostro POM ora contiene questo:

    <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>  

    0

    Rimuovere il codice seguente da pom.xml o correggere la versione di Java per farlo funzionare.

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

    -2

    ho avuto lo stesso problema e oltre a mettere le configurazioni dei post precedenti

                <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>

    nell'elemento plugin in pom.xml. penso che il problema fosse l'assenza di esecuzione -> obiettivo "endpoints_get_discovery_doc" in alcuni casi come il mio, quindi ha funzionato per me.


    Mentre questo frammento di codice può risolvere la domanda, inclusa una spiegazione aiuta davvero a migliorare la qualità del tuo post. Ricorda che stai rispondendo alla domanda per i lettori in futuro e quelle persone potrebbero non conoscere i motivi del tuo suggerimento sul codice.
    yennsarah,

    @Amy grazie per il suggerimento, ho provato a spiegare e spero di esserci riuscito.
    MRTC,
    Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
    Licensed under cc by-sa 3.0 with attribution required.