Error al ejecutar el objetivo org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (default-compile)

130

estoy usando Maven 3.0.5 y Spring Tool Source 3.2 con el complemento Maven instalado. Cuando intento hacer 'Ejecutar como ---> Instalación de Maven', aparece el siguiente error:

[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

Encuentre a continuación mi 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 la instalación de Maven, mi objetivo es war:warhacer WAR de mi aplicación.

Rushi Shah
fuente
asegúrese de estar usando Java 8
Archmede
2
@EugeneHoza codehaus JIRA está cerrado y su enlace está muerto. ¿Ves ahora por qué los enlaces nunca deberían ser la única información?
naXa
Recibí este error al pasar de Spring 2.2.7 a 2.3.1
Ravi Parekh

Respuestas:

135

Eliminar completo .m2/repository repositorio local resolvió mi problema.

O bien, necesita saber qué complementos está utilizando exactamente con sus dependencias, ya que uno de los complementos sufrió un problema durante la descarga.

Prateek Batla
fuente
2
Lo eliminé por el directorio repositorio / org y todo funcionó bien después de eso
dannrob
Cambié el nombre de mi ".M2 / Repository" no está arrojando error al menos ... veamos.
InfantPro'Aravind '
13
debería eliminar .m2/repositorypara no eliminar settings.xmlen .m2dir
Mike D
3
rm -rf rm -rf ~/.m2/repository/org/apache/funciona para mi.
Wener
Similar a lo que @wener sugirió, eliminé la carpeta ~ / .m2 \ repository \ org \ apache \ maven y trabajé para mí.
Edu Costa
122

Eliminar el repositorio local completo .m2 también resolvió mi problema.

Si no sabe dónde está, las ubicaciones son:

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
fuente
3
Tenga en cuenta que, en Windows, escribir %USERPROFILE%le llevará a su directorio de perfil donde .m2se encuentra la carpeta.
MC Emperor
Alguien sabe por qué ocurre este problema? Tengo el mismo problema y eliminar el directorio lo resuelve.
emmmphd el
@MCEmperor ¡Gracias! Lo encontré eliminado y funciona ahora.
DAVE SUCIO
48

Estoy agregando más puntos a la solución por @Rushi Shah

mvn clean install -X Ayuda a identificar la causa raíz.

Algunas de las fases importantes del ciclo de vida de construcción de Maven son:

clean- el proyecto está limpio de todos los artefactos que provienen de compilaciones anteriores compile- el proyecto se compila en el directorio / target de la raíz del proyecto install- el archivo empaquetado se copia en el repositorio local de Maven (podría en el directorio de inicio de su usuario en /.m2) test- las pruebas unitarias son correr package : las fuentes compiladas se empaquetan en el archivo (JAR de forma predeterminada)

La etiqueta 1.6 debajo se refiere a la versión JDK. Necesitamos asegurarnos de que la versión jdk sea adecuada en nuestro entorno de desarrollo o cambiar el valor a 1.7 o 1.5 o lo que sea si la aplicación puede ser compatible con esa versión 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>

Podemos encontrar los detalles completos sobre el ciclo de vida de construcción de Maven en el sitio de Maven.

Sree Rama
fuente
29

Tuve el mismo problema, verifique el jre instalado utilizado por Maven en su Configuración de ejecución ...

En su caso, creo que el plugin maven-compiler: jar: 2.3.2 necesita un jdk1.6

Para hacer esto: Ejecute Configuración> YOUR_MAVEN_BUILD> JRE> JRE alternativoingrese la descripción de la imagen aquí

Espero que esto ayude.

jmj
fuente
1
esta es la mejor solución, también funcionó para mí, no es necesario eliminar archivos, creo que esto es realmente lo que estaba causando el problema
Dunken
debes dejar que el mundo sepa sobre esto. porque incluso cuando configuro jre en jdk en windows-> preferencias, no funciona. Pero tu respuesta funciona.
divina
20

A veces se debe a que el proyecto apunta a JRE en lugar de a JDK. Intente esto,

1.Haga clic derecho en el proyecto -> Ruta de compilación -> Configurar ruta de compilación -> Agregar biblioteca -> Biblioteca del sistema JRE -> Entornos -> JRE instalados -> Apunte a la carpeta Java en c: unidad (Windows ) y seleccione la carpeta JDK y ok.

2. Retire el JRE ya presente de la ruta de compilación.

Ashutosh S
fuente
Funcionó a la perfección !! Actualización: en Eclipse Java Oxygen, en la página "JRE instalados", debe hacer clic en "Agregar ..." antes de apuntar a la carpeta
gotube
Sí, esto también funcionó para mí. Creo que es una solución rápida para eliminar JRE existente y agregar nuevamente.
Nikhil Lotke
6

Por lo general, definir maven-compiler-plugin es suficiente. agregue lo siguiente a la definición del complemento del compilador.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>
tapha
fuente
Sí, agregué "<inherited> true </inherited>" en mi pom.xml y cuando lo guardo, aparece la siguiente excepción: Se produjo un error interno durante: "Actualización de dependencias de Maven". org / apache / maven / shared / filtering / MavenFilteringException
Rushi Shah
8
Finalmente recibí la solución ejecutando el siguiente comando: mvn clean install -X. Me dio la causa raíz. En realidad, mi JAVA_HOME apuntaba a JRE_HOME y el compilador en maven-compiler-plugin, que estaba buscando, se envía solo con JDK. Entonces, instalé JDK y actualicé mi JAVA_HOME.
Rushi Shah
no ayuda: [ADVERTENCIA] No se puede detectar automáticamente la ruta 'javac', usando 'javac' del entorno.
MemLeak
5

A veces, este problema se produce porque el java.version que ha mencionado en POM.xml no es el que está instalado en su máquina.

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

Asegúrese de mencionar exactamente la misma versión en su pom.xml que la versión jdk y jre presente en su máquina.

Harshad Holkar
fuente
Gracias ... Esta respuesta me dio la idea de que en mi caso el problema tenía algo que ver con la versión de Java. Resulta que tenía Java 9 y Java 8 instalados en macOS. Eliminado Java 9, ahora Maven funciona bien. Véase mi respuesta .
Basil Bourque
5

Tuve este problema una vez, y así es como lo resolví:

  • Paso-1 Limpia tu
    .m2 / repositorio

  • Paso 2 ejecute el comando maven (por ejemplo mvn clean verify) desde el terminal en la ubicación actual del proyecto (donde existe el archivo pom.xml de su proyecto) en lugar de ejecutar maven desde eclipse.
  • nityanarayan44
    fuente
    Esto empeoró las cosas
    karlihnos
    2

    En realidad, si no desea eliminar su .m2 / repositorio / ... local y tiene una copia descargada de Maven de Apache, puede hacer que Eclipse / STS use ese Maven externo y puede editar el {maven} \ conf \ settings.xml para apuntar su repositorio local a una nueva ubicación vacía.

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

    Por supuesto, tendrá un nuevo repositorio con todas las descargas de fuentes de Maven además de su ubicación anterior .m2.

    ingrese la descripción de la imagen aquí

    iowatiger08
    fuente
    2

    verifique la endorsed.diretiqueta de propiedad en su pom.xml.
    También tuve este problema y lo solucioné modificando la propiedad.

    Ejemplo:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  
    Venkad
    fuente
    1
    • Descargue el complemento del compilador maven jar desde su repositorio central e intente
    • Si todavía falla, verifique su versión jdk, es porque su aplicación está construida en la versión diff jdk
    Divya Guduru
    fuente
    1

    Para mí, reiniciar Eclipse eliminó este error.

    sau123
    fuente
    1

    Creo que tienes dos formas de resolver este problema.

    01. Establecer propiedades

    • Establecer Java Build Path como jdk

    Haga clic con el botón derecho en el proyecto -> Ruta de compilación de Java -> pestaña Seleccionar bibliotecas -> Seleccionar biblioteca del sistema JRE -> Haga clic en el botón Editar -> Haga clic en JRE instalados-> agregue la marca al cuadro -> haga clic en Editar -> Haga clic en Directorio-> Seleccione jdk

    • Especifique qué tipo de versión jdk instaló

    Haga clic con el botón derecho en proyecto -> Project Facets -> marque java y seleccione java version-> Apply -> Ok

    • Proyecto de actualización

    Haga clic derecho en "proyecto" -> Ir a Maven-> Actualizar

    02. Eliminar el archivo .m2

    Si no puede resolver su problema utilizando los dos temas anteriores, obtenga esta acción Cierre su proyecto. Elimine su carpeta completa .m2

    Cómo multar un archivo .m2 (windows)

    Vaya a Disco local (C) -> Usuarios -> Seleccione el nombre de su PC ->. Archivo m2

    JustCode
    fuente
    1

    Java 9 incompatible

    Recibí este error al intentar llamar mvn install a un proyecto.

    Había instalado Java 9 en macOS, así como Java 8 Update 144. Aparentemente, mi proyecto Maven invocaba Java 9 y fallaba. Eliminé Java 9 de mi Mac, dejando solo Java 8 en su lugar. Maven ahora está felizmente construyendo mi proyecto para completarlo con éxito.

    Usando Apache Maven 3.5.0 en macOS Sierra.

    Albahaca Bourque
    fuente
    0

    Tal vez pueda agregar esta dependencia a su pom.xml. Yo uso este método y resuelvo el problema!

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

    para los nuevos usuarios en Mac os, busque la carpeta .m2 y elimínela, está en su directorio /Users/.m2 .

    no podrá ver la carpeta .m2 en el buscador (Explorador de archivos), para este usuario este comando muestra los archivos ocultos de Mac

    $ por defecto escribe com.apple.finder AppleShowAllFiles TRUE

    después de esto, presione alt y haga clic en Finder-> relanzar, puede ver /Users/.m2

    para ocultar archivos nuevamente, simplemente use este $ defaults write com.apple.finder AppleShowAllFiles false

    Swadeshi
    fuente
    0

    Cambié el nombre del directorio .m2, esto todavía no ayudó, así que instalé el sdk / jdk más nuevo y reinicié eclipse. Esto funcionó.

    Parece que se necesitaba un SDK y solo había instalado un JRE.

    Lo cual es extraño, porque eclipse funcionó en la misma máquina para un proyecto anterior diferente.

    Importé un segundo proyecto maven, y la instalación Run / maven solo se completó después de reiniciar eclipse. Entonces tal vez solo fue necesario reiniciar el eclipse.

    Importé otro proyecto más, y tuve que hacerlo maven installdos veces antes de que funcionara a pesar de que había reiniciado eclipse.

    Sumador
    fuente
    0

    Es realmente increíble estar obligado a borrar todo el contenido de m2 / repositorio. Sugiero escribir este comando (en Windows):

    mvn limpio

    mvn -X package> my_log_file.log

    El último comando habilita la opción de depuración y redirige la salida a un archivo. Abra el archivo y busque las palabras clave ERROR o WARNING. Puedes encontrar este tipo de expresión:

    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

    En este caso, es fácil entender que solo tiene que eliminar el directorio C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3

    Relanzar compilación, empaquetado, etc.

    paquete mvn

    ADVERTENCIA desaparece solo porque elimina el archivo POM dañado en la buena ubicación y puede volver a descargarlo. Normalmente, el nuevo archivo POM es mejor.

    A menudo, el modo de depuración le brinda mensajes con detalles más completos.

    Por qué redirijo el registro a un archivo: simplemente porque en la consola de Windows no tengo suficiente búfer para almacenar todas las líneas y, a menudo, no puede ver todas las líneas.

    Vifier Lockla
    fuente
    0

    Intentamos todo lo enumerado hasta ahora y todavía falló. El error también mencionó

    (default-war) en utilidades del proyecto Java: error al ensamblar WAR: se requiere el atributo webxml

    La solución que finalmente lo solucionó fue agregar esto a POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Como se menciona aquí Error al ensamblar WAR: se requiere el atributo webxml

    Nuestro POM ahora contiene esto:

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

    Elimine el código siguiente de pom.xml o corrija su versión de Java para que funcione.

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

    tuve el mismo problema y además de las configuraciones de las publicaciones anteriores poniendo

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

    en el elemento de complementos en pom.xml. Creo que el problema fue la ausencia de ejecución -> objetivo "endpoints_get_discovery_doc" en algunos casos como el mío, así que esto funcionó para mí.

    MRTC
    fuente
    Si bien este fragmento de código puede resolver la pregunta, incluir una explicación realmente ayuda a mejorar la calidad de su publicación. Recuerde que está respondiendo la pregunta para los lectores en el futuro, y que esas personas podrían no conocer los motivos de su sugerencia de código.
    Yennsarah
    @ Amy, gracias por el consejo, traté de explicar y espero haber tenido éxito.
    MRTC