Falha ao executar o objetivo org.apache.maven.plugins: maven-compiler-plugin: 2.3.2: compile (compilação padrão)

130

Estou usando o Maven 3.0.5 e o Spring Tool Source 3.2 com o plugin Maven instalado. Quando tento executar 'Executar como ---> instalação do Maven', estou recebendo o seguinte erro:

[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

Encontre abaixo o meu 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 a instalação do maven, meu objetivo é war:wartornar o WAR da minha aplicação.

Rushi Shah
fonte
certifique-se que você está usando java 8
Archmede
2
O @EugeneHoza codehaus JIRA está fechado e o seu link está morto. Você vê agora por que os links nunca devem ser a única informação?
NaXa
Eu recebi este erro ao passar da Primavera 2.2.7 para a 2.3.1
Ravi Parekh 16/06

Respostas:

135

A exclusão do .m2/repositoryrepositório local completo resolveu meu problema.

Ou então, você precisa saber quais plug-ins você está usando exatamente com suas dependências, pois um dos plug-ins sofreu um problema durante o download.

Prateek Batla
fonte
2
Eu apaguei pelo diretório do repositório / org e tudo funcionou bem depois disso
dannrob
Eu mudei o nome do meu ".M2 / Repository", mas não está lançando nenhum erro. Vamos ver.
InfantPro'Aravind'
13
deve ser excluindo .m2/repositoryassim você não exclua settings.xmlno .m2dir
Mike D
3
rm -rf rm -rf ~/.m2/repository/org/apache/funciona para mim.
Wener
Semelhante ao que o @wener sugeriu, excluí a pasta ~ / .m2 \ repository \ org \ apache \ maven e trabalhei para mim.
Edu Costa
122

A exclusão do repositório local .m2 completo também resolveu o meu problema.

Se você não sabe onde é, os locais são:

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
fonte
3
Observe que, no Windows, digitar %USERPROFILE%o levará ao diretório de perfil em que a .m2pasta está localizada.
MC Emperor
Alguém sabe por que esse problema acontece? Eu tenho o mesmo problema e excluir o diretório resolve.
emmmphd
@MCEmperor Thanks! Encontrou-o excluído e funciona agora.
DIRTY DAVE
48

Estou adicionando mais pontos à solução por @Rushi Shah

mvn clean install -X ajuda a identificar a causa raiz.

Algumas das fases importantes do ciclo de vida da criação do Maven são:

clean- o projeto está limpo de todos os artefatos provenientes de compilações anteriores compile- o projeto é compilado no diretório / target da raiz do projeto install- o arquivo compactado é copiado no repositório maven local (pode ser encontrado no diretório inicial do usuário em /.m2) test- os testes de unidade são run package- as fontes compiladas são empacotadas em archive (JAR por padrão)

A tag under 1.6 refere-se à versão do JDK. Precisamos garantir a versão adequada do jdk em nosso ambiente de desenvolvimento ou alterar o valor para 1.7 ou 1.5 ou o que for, se o aplicativo puder ser suportado nessa versão do 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 os detalhes completos sobre o ciclo de vida de criação do Maven no site do Maven.

Sree Rama
fonte
29

Eu tive o mesmo problema, verifique o jre instalado usado pelo Maven em sua configuração de execução ...

No seu caso, acho que o maven-compiler-plugin: jar: 2.3.2 precisa de um jdk1.6

Para fazer isso: Execute Configuração> YOUR_MAVEN_BUILD> JRE> JRE Alternativoinsira a descrição da imagem aqui

Espero que isto ajude.

jmj
fonte
1
esta é a melhor solução, também trabalhou para mim não há necessidade de apagar arquivos eu acho que isso é realmente o que estava causando o problema
Dunken
você deve deixar o mundo saber sobre isso. porque mesmo quando defino jre como jdk nas janelas-> preferências, ele não funciona. mas sua resposta funciona.
div
20

Às vezes, é causada devido aos pontos do projeto no JRE, e não no JDK.

1.Clique com o botão direito do mouse em projeto -> Caminho da Construção -> Configurar Caminho da Construção -> Adicionar Biblioteca -> Biblioteca do Sistema JRE -> Ambientes -> JREs Instalados -> Aponte para a pasta java na unidade c: (Windows ) e selecione a pasta JDK e ok.

2. Remova o JRE já presente do caminho de construção.

Ashutosh S
fonte
Funcionou perfeitamente !! Atualização: No Eclipse Java Oxygen, na página "JREs Instalados", é necessário clicar em "Adicionar ..." antes de apontar para a pasta
gotube
Sim, isso funcionou para mim também. Eu acho que é uma solução rápida para remover o JRE existente e adicionar novamente.
Nikhil Lotke 07/12/19
6

Normalmente, definir maven-compiler-plugin é suficiente. adicione o seguinte à sua definição de plug-in do compilador.

<plugin>
    <inherited>true</inherited>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>              
</plugin>
tapha
fonte
Sim, adicionei "<inherited> true </inherited>" no meu pom.xml e, quando o salvo, obtenho a seguinte exceção: Ocorreu um erro interno durante: "Atualizando dependências do Maven". org / apache / maven / shared / filtering / MavenFilteringException
Rushi Shah
8
Finalmente recebi a solução executando o seguinte comando: mvn clean install -X. Isso me deu a causa raiz. Na verdade, meu JAVA_HOME estava apontando para JRE_HOME e o compilador no maven-compiler-plugin, ele estava procurando, é fornecido com apenas JDK. Então, instalei o JDK e atualizei meu JAVA_HOME.
precisa saber é o seguinte
não ajuda: [AVISO] Não é possível detectar automaticamente o caminho 'javac', usando 'javac' do ambiente.
MemLeak
5

Às vezes, esse problema ocorre porque o java.version que você mencionou no POM.xml não é o instalado na sua máquina.

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

Certifique-se de mencionar exatamente a mesma versão em seu pom.xml que a versão jdk e jre presente em sua máquina.

Harshad Holkar
fonte
Obrigado… Esta resposta me deu a ideia de que, no meu caso, o problema tinha algo a ver com a versão do Java. Acontece que eu tinha o Java 9 e o Java 8 instalados no macOS. Excluído o Java 9, agora o Maven roda bem. Veja minha resposta .
Basil Bourque
5

Eu tive esse problema uma vez e foi assim que resolvi:

  • Etapa 1 Limpe seu
    .m2 / repository

  • Etapa 2: execute o comando maven (por exemplo mvn clean verify) no terminal no local atual do projeto (onde o arquivo pom.xml do seu projeto existe) em vez de executar o maven no eclipse.
  • nityanarayan44
    fonte
    Isso piorou as coisas #
    karlihnos 30/11
    2

    Na verdade, se você não deseja excluir o .m2 / repository / ... local e tiver uma cópia baixada do Maven do Apache, o Eclipse / STS pode usar o Maven externo e editar o {maven} \ conf \ settings.xml para apontar seu localRepository para um novo local vazio.

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

    Obviamente, você terá um novo repositório com todos os downloads de fontes do maven, além da sua localização .m2 anterior.

    insira a descrição da imagem aqui

    iowatiger08
    fonte
    2

    verifique a endorsed.diretiqueta da propriedade no seu pom.xml.
    Eu também tive esse problema e corrigi-o modificando a propriedade

    Exemplo:

    <endorsed.dir>${project.build.directory}/endorsed</endorsed.dir>  
    Venkad
    fonte
    1
    • Faça o download do jar do plug-in do compilador maven em seu repositório central e tente
    • Se ainda estiver falhando, verifique sua versão do jdk, é porque seu aplicativo foi desenvolvido na versão diff jdk
    Divya Guduru
    fonte
    1

    Para mim, reiniciar o Eclipse se livrou desse erro!

    sau123
    fonte
    1

    Eu acho que você tem duas maneiras de resolver este problema

    01. Definir propriedades

    • Definir caminho de construção Java como jdk

    Clique com o botão direito do mouse em projeto -> Caminho de Construção Java -> guia Selecionar Bibliotecas -> selecione Biblioteca do Sistema JRE -> Clique no botão Editar -> Clique em JREs Instalados-> adicionar marca à caixa -> clique em Editar -> Clique em Diretório-> Selecionar jdk

    • Especifique que tipo de versão do jdk você instalou

    Clique com o botão direito do mouse em projeto -> Facetas do projeto -> marque java e selecione a versão java-> Aplicar -> Ok

    • Atualizar projeto

    Clique com o botão direito do mouse em "projeto" -> Vá para Maven-> Atualizar

    02.Delete arquivo .m2

    Se você não conseguir resolver o problema usando os dois tópicos acima, execute esta ação Feche seu projeto. Exclua sua pasta .m2 completa

    Como multar arquivo .m2 (windows)

    Vá para Disco local (C) -> Usuários -> Selecione o nome do seu PC -> arquivo .m2

    JustCode
    fonte
    1

    Java 9 incompatível

    Eu recebi esse erro ao tentar chamar mvn installum projeto.

    Eu instalei o Java 9 no macOS, bem como o Java 8, atualização 144. Meu projeto Maven aparentemente estava invocando o Java 9 e falhando. Removi o Java 9 do meu Mac, deixando apenas o Java 8 no lugar. Maven agora está feliz em construir meu projeto para concluir com êxito.

    Usando o Apache Maven 3.5.0 no macOS Sierra.

    Basil Bourque
    fonte
    0

    Talvez você possa adicionar essa dependência ao seu pom.xml. Eu uso esse método e resolvo o problema!

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

    para os novos usuários no Mac OS, localize a pasta .m2 e exclua-a no diretório /Users/.m2 .

    você não verá a pasta .m2 no localizador (File Explorer); para este usuário, este comando mostra os arquivos ocultos do Mac

    $ defaults write com.apple.finder AppleShowAllFiles TRUE

    depois disso, pressione alt e clique em finder-> relançamento, você pode ver /Users/.m2

    para ocultar os arquivos novamente, basta usar este $ defaults write com.apple.finder AppleShowAllFiles false

    Swadeshi
    fonte
    0

    Renomeei o diretório .m2, isso ainda não ajudou, então instalei o sdk / jdk mais novo e reiniciei o eclipse. Isso funcionou.

    Parece que era necessário um SDK e eu só havia instalado um JRE.

    O que é estranho, porque o eclipse trabalhou na mesma máquina para um projeto antigo diferente.

    Importei um segundo projeto maven e a instalação Run / maven foi concluída apenas após reiniciar o eclipse. Então, talvez apenas fosse necessário reiniciar o eclipse.

    Importação de outro projeto e tive que fazer maven installduas vezes antes de funcionar, mesmo que eu tivesse reiniciado o eclipse.

    Adicionador
    fonte
    0

    É realmente incrível ser obrigado a apagar todo o conteúdo .m2 / repository. Sugiro digitar este comando (no Windows):

    mvn clean

    Pacote mvn -X> my_log_file.log

    O último comando habilita a opção Debug e redireciona a saída para um arquivo. Abra o arquivo e procure as palavras-chave ERROR ou WARNING. Você pode encontrar este tipo de expressão:

    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

    Neste caso, é importante entender que você precisa excluir o diretório C: \ Users \ vifie.m2 \ repository \ net \ java \ jvnet-parent \ 3

    Relançar compilação, empacotamento e assim por diante:

    pacote mvn

    AVISO desaparece apenas porque você exclui o arquivo POM corrompido no local correto e fez o download novamente. Normalmente, o novo arquivo POM é melhor.

    Geralmente, o modo de depuração fornece mensagens com detalhes mais abrangentes.

    Por que redireciono o log para um arquivo: Simplesmente porque no console do Windows não há buffer suficiente para armazenar todas as linhas e, muitas vezes, você não pode ver todas as linhas.

    Vifier Lockla
    fonte
    0

    Tentamos tudo listado até agora e ainda falhou. O erro também mencionado

    (default-war) nos utils do projetoJava: Erro ao montar o atributo WAR: webxml é necessário

    A solução que finalmente o corrigiu foi adicionar isso ao POM:

    <failOnMissingWebXml>false</failOnMissingWebXml>

    Conforme mencionado aqui Erro ao montar o WAR - o atributo webxml é necessário

    Nosso POM agora contém isso:

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

    Remova o código abaixo do pom.xml ou corrija sua versão do java para fazê-lo funcionar.

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

    eu tive o mesmo problema e além das configurações dos posts acima

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

    no elemento plugins em pom.xml. Eu acho que o problema foi a ausência de execução -> objetivo "endpoints_get_discovery_doc" em alguns casos como o meu, então isso funcionou para mim.

    MRTC
    fonte
    Embora esse trecho de código possa resolver a questão, incluir uma explicação realmente ajuda a melhorar a qualidade da sua postagem. Lembre-se de que você está respondendo à pergunta dos leitores no futuro e essas pessoas podem não saber os motivos da sua sugestão de código.
    yennsarah
    @ Amy, obrigado pela dica, tentei explicar e espero ter sucesso.
    MRTC 28/02