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:war
tornar o WAR da minha aplicação.
java
maven-3
maven-compiler-plugin
Rushi Shah
fonte
fonte
Respostas:
A exclusão do
.m2/repository
repositó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.
fonte
.m2/repository
assim você não excluasettings.xml
no.m2
dirrm -rf rm -rf ~/.m2/repository/org/apache/
funciona para mim.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:
fonte
%USERPROFILE%
o levará ao diretório de perfil em que a.m2
pasta está localizada.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 anteriorescompile
- o projeto é compilado no diretório / target da raiz do projetoinstall
- 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 runpackage
- 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.
Podemos encontrar os detalhes completos sobre o ciclo de vida de criação do Maven no site do Maven.
fonte
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 Alternativo
Espero que isto ajude.
fonte
À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.
fonte
Normalmente, definir maven-compiler-plugin é suficiente. adicione o seguinte à sua definição de plug-in do compilador.
fonte
Às vezes, esse problema ocorre porque o java.version que você mencionou no POM.xml não é o instalado na sua máquina.
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.
fonte
Eu tive esse problema uma vez e foi assim que resolvi:
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.fonte
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.
Obviamente, você terá um novo repositório com todos os downloads de fontes do maven, além da sua localização .m2 anterior.
fonte
verifique a
endorsed.dir
etiqueta da propriedade no seupom.xml
.Eu também tive esse problema e corrigi-o modificando a propriedade
Exemplo:
fonte
fonte
Para mim, reiniciar o Eclipse se livrou desse erro!
fonte
Eu acho que você tem duas maneiras de resolver este problema
01. Definir propriedades
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)
fonte
Java 9 incompatível
Eu recebi esse erro ao tentar chamar
mvn install
um 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.
fonte
Talvez você possa adicionar essa dependência ao seu pom.xml. Eu uso esse método e resolvo o problema!
fonte
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
fonte
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 install
duas vezes antes de funcionar, mesmo que eu tivesse reiniciado o eclipse.fonte
É realmente incrível ser obrigado a apagar todo o conteúdo .m2 / repository. Sugiro digitar este comando (no Windows):
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:
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:
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.
fonte
Tentamos tudo listado até agora e ainda falhou. O erro também mencionado
A solução que finalmente o corrigiu foi adicionar isso ao POM:
Conforme mencionado aqui Erro ao montar o WAR - o atributo webxml é necessário
Nosso POM agora contém isso:
fonte
Remova o código abaixo do pom.xml ou corrija sua versão do java para fazê-lo funcionar.
fonte
eu tive o mesmo problema e além das configurações dos posts acima
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.
fonte