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.



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.


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

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.


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.


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.


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>

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.


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.

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


    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>  

    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

    1

    Para mí, reiniciar Eclipse eliminó este error.


    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


    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.


    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>

    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


    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.


    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.


    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>  

    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>

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


    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
    Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
    Licensed under cc by-sa 3.0 with attribution required.