[INFO] [war:war {execution: default-war}]
[INFO] Packaging webapp
[INFO] ------------------------------------------------------------------------
[ERROR] FATAL ERROR
[INFO] ------------------------------------------------------------------------
[INFO] Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
---- Debugging information ----
message : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
class : org.apache.maven.plugin.war.util.WebappStructure
required-type : org.apache.maven.plugin.war.util.WebappStructure
path : /webapp-structure
line number : 1
-------------------------------
[INFO] ------------------------------------------------------------------------
[INFO] Trace
com.thoughtworks.xstream.converters.ConversionException: Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
---- Debugging information ----
message : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
cause-exception : com.thoughtworks.xstream.converters.reflection.ObjectAccessException
cause-message : Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
class : org.apache.maven.plugin.war.util.WebappStructure
required-type : org.apache.maven.plugin.war.util.WebappStructure
path : /webapp-structure
line number : 1
-------------------------------
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:63)
at com.thoughtworks.xstream.core.AbstractReferenceUnmarshaller.convert(AbstractReferenceUnmarshaller.java:45)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convertAnother(TreeUnmarshaller.java:46)
at com.thoughtworks.xstream.core.TreeUnmarshaller.start(TreeUnmarshaller.java:117)
at com.thoughtworks.xstream.core.ReferenceByXPathMarshallingStrategy.unmarshal(ReferenceByXPathMarshallingStrategy.java:29)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:846)
at com.thoughtworks.xstream.XStream.unmarshal(XStream.java:833)
at com.thoughtworks.xstream.XStream.fromXML(XStream.java:781)
at org.apache.maven.plugin.war.util.WebappStructureSerializer.fromXml(WebappStructureSerializer.java:73)
at org.apache.maven.plugin.war.AbstractWarMojo.buildWebapp(AbstractWarMojo.java:404)
at org.apache.maven.plugin.war.AbstractWarMojo.buildExplodedWebapp(AbstractWarMojo.java:375)
at org.apache.maven.plugin.war.WarMojo.performPackaging(WarMojo.java:181)
at org.apache.maven.plugin.war.WarMojo.execute(WarMojo.java:143)
at org.apache.maven.plugin.DefaultPluginManager.executeMojo(DefaultPluginManager.java:490)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoals(DefaultLifecycleExecutor.java:694)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalWithLifecycle(DefaultLifecycleExecutor.java:556)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoal(DefaultLifecycleExecutor.java:535)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeGoalAndHandleFailures(DefaultLifecycleExecutor.java:387)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.executeTaskSegments(DefaultLifecycleExecutor.java:348)
at org.apache.maven.lifecycle.DefaultLifecycleExecutor.execute(DefaultLifecycleExecutor.java:180)
at org.apache.maven.DefaultMaven.doExecute(DefaultMaven.java:328)
at org.apache.maven.DefaultMaven.execute(DefaultMaven.java:138)
at org.apache.maven.cli.MavenCli.main(MavenCli.java:362)
at org.apache.maven.cli.compat.CompatibleMain.main(CompatibleMain.java:60)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:601)
at org.codehaus.classworlds.Launcher.launchEnhanced(Launcher.java:315)
at org.codehaus.classworlds.Launcher.launch(Launcher.java:255)
at org.codehaus.classworlds.Launcher.mainWithExitCode(Launcher.java:430)
at org.codehaus.classworlds.Launcher.main(Launcher.java:375)
Caused by: com.thoughtworks.xstream.converters.reflection.ObjectAccessException: Cannot construct org.apache.maven.plugin.war.util.WebappStructure as it does not have a no-args constructor
at com.thoughtworks.xstream.converters.reflection.PureJavaReflectionProvider.newInstance(PureJavaReflectionProvider.java:59)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.instantiateNewInstance(AbstractReflectionConverter.java:257)
at com.thoughtworks.xstream.converters.reflection.AbstractReflectionConverter.unmarshal(AbstractReflectionConverter.java:124)
at com.thoughtworks.xstream.core.TreeUnmarshaller.convert(TreeUnmarshaller.java:56)
... 31 more
[INFO] ------------------------------------------------------------------------
[INFO] Total time: 4 seconds
[INFO] Finished at: Sat Sep 24 17:25:45 CEST 2011
[INFO] Final Memory: 15M/37M
[INFO] ------------------------------------------------------------------------
JDK: 1.7
Plug-in do compilador Maven:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
Quando eu executo o destino de instalação acima ocorre um erro, como posso resolvê-lo?
Respostas:
Talvez uma versão do plugin maven war esteja sendo usada, que não funciona com o Java 7? De acordo com este problema (que descreve um problema semelhante), a
2.1.1
versão do plugin maven war deve funcionar.Inclua o seguinte em seu pom.xml
fonte
Eu tive esse problema ao fazer um
mvn install
. Resolvi isso fazendo ummvn clean
primeiro, seguido por ummvn install
.Usando o maven 2.1.1, JDK 1.7.0.45.
fonte
Está confirmado: JDK7 com Maven 2.x produzirá este erro.
Estou usando o Maven 2.2.1 e o JDK7 e recebi este erro. Mudei o JDK para a versão 1.6 e está funcionando bem.
fonte
Em vez de alterar as versões do JDK e do Maven, tente o seguinte:
fonte
Confirmado, encontrei o mesmo problema com maven 3.0.2 e jdk 1.7.0_02. Depois de correr contra o jdk 1.6.0_30 ele compilou perfeitamente.
fonte
Não acho que a versão fosse o problema. Resolvi excluir minha pasta de destino (porque ela contém webapp-cache.xml) e fazer a instalação do Maven novamente.
fonte
Apache Maven WAR Plugin 3.0.0 resolveu todos os problemas:
Não importa se você usa o jdk 1.6, 1.7 ou 1.8
fonte
se você estiver usando o jdk 1.6, por favor, adicione esta entrada do plugin ao seu pom.xml
fonte
Isso definitivamente parece estar relacionado a versões incompatíveis de plugins, bibliotecas e idiomas.
Dois anos e duas versões de Java depois, tive o mesmo erro ao fazer um projeto de amostra de um livro antigo sobre Spring e Hibernate.
Consegui resolver o erro comentando todas as tags de versão para apache.maven.plugins e definindo a versão Java para 1.8. Isso me permitiu saber qual era a melhor e mais recente versão das bibliotecas, com o custo de alguns avisos do Maven sobre a falta de tags de versão. Se você se preocupa com os avisos, pode definir as tags de versão para a versão mais recente e os avisos do Maven devem desaparecer.
Eu executei
mvn clean package
e depois acaboumvn package
.fonte
Eu tive esse problema com meu eclipse Kepler. Assim que mudei para 4.4 (Luna), tudo se foi. Deve ser um problema com eclipse + maven incorporado
Tentei o JDK 1.7 e 1.8. Sem diferença.
fonte
Para mim, alterar a versão do plugin não resolveu o problema e alterar a versão do JDK não está sob meu controle.
Porém correr
mvn clean
antesmvn tomcat6:deploy
resolveu este problema.fonte
Certifique-se de que a versão do JDK em seu caminho de construção e a versão especificada na tag de origem correspondam à mesma.
Eu tinha o caminho de construção apontando para jdk 1.7 e "1.6" na tag de origem, quando corrigi a versão para 1.7 na tag de origem, o problema foi resolvido.
Execute o pacote mnv clean e mvn.
fonte
Tente excluir todo o seu cache. Quando eu excluí a pasta de destino, ele funciona bem.
(A pasta de destino é onde o maven coloca todo o código compilado)
fonte
Eu estava recebendo o mesmo erro depois de atualizar minha versão java de 8 para 8.x, corrigi-lo indo para pom e 1. clique com o botão direito> maven> adicionar plugin 2. digite org.apache.maven e procure por plugin war adicione-o e salve, então apenas limpe e instale. Deve funcionar.
fonte