[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
Plugin du compilateur Maven:
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.3.2</version>
</plugin>
Lorsque j'exécute une erreur d'installation de la cible ci-dessus, comment puis-je la résoudre?
Réponses:
Peut-être qu'une version du plugin maven war est utilisée, qui ne fonctionne pas avec Java 7? Selon ce problème (qui décrit un problème similaire), la
2.1.1
version du plugin maven war devrait fonctionner.Incluez les éléments suivants dans votre pom.xml
la source
J'ai eu ce problème en faisant un
mvn install
. Je l'ai résolu en faisant unmvn clean
premier, suivi d'unmvn install
.En utilisant maven 2.1.1, JDK 1.7.0.45.
la source
C'est confirmé: JDK7 avec Maven 2.x produira cette erreur.
J'utilise Maven 2.2.1 et JDK7 et j'ai cette erreur. J'ai changé le JDK en version 1.6 et cela fonctionne très bien.
la source
Au lieu de changer les versions JDK et Maven, essayez ceci:
la source
Confirmé, j'ai rencontré le même problème avec maven 3.0.2 et jdk 1.7.0_02. Après avoir fonctionné avec jdk 1.6.0_30, il s'est très bien compilé.
la source
Je ne pense pas que la version soit le problème. J'ai résolu de supprimer mon dossier cible (car il contient webapp-cache.xml) et de refaire l'installation de Maven.
la source
Apache Maven WAR Plugin 3.0.0 a résolu tous les problèmes:
Peu importe si vous utilisez jdk 1.6, 1.7 ou 1.8
la source
si vous utilisez jdk 1.6, veuillez ajouter cette entrée de plugin à votre pom.xml
la source
Cela semble certainement être lié à des versions de plugin, de bibliothèque et de langue incompatibles.
Deux ans, et deux versions de Java plus tard, j'ai eu cette même erreur en faisant un exemple de projet d'un livre plus ancien sur Spring et Hibernate.
J'ai pu résoudre l'erreur en commentant toutes les balises de version pour apache.maven.plugins et en définissant la version Java sur 1.8. Cela m'a permis de savoir quelle était la dernière et la meilleure version des bibliothèques, avec le coût de certains avertissements de Maven concernant l'absence de balises de version. Si vous vous souciez des avertissements, vous pouvez définir les balises de version sur la dernière version et les avertissements de Maven devraient disparaître.
J'ai exécuté
mvn clean package
et ensuite justemvn package
.la source
J'ai eu ce problème avec mon éclipse Kepler. Dès que je suis passé à 4.4 (Luna), tout est parti. Doit être un problème avec eclipse + maven intégré
J'ai essayé les JDK 1.7 et 1.8. Aucune différence.
la source
Pour moi, le changement de version du plugin n'a pas pu résoudre le problème et le changement de version de JDK n'est pas sous mon contrôle.
Cependant, l'exécution
mvn clean
avant amvn tomcat6:deploy
résolu ce problème.la source
Assurez-vous que la version JDK dans votre chemin de construction et la version spécifiée dans la balise source correspondent à la même chose.
J'avais le chemin de construction pointant vers jdk 1.7 et "1.6" dans la balise source, lorsque j'ai corrigé la version à 1.7 dans la balise source, le problème a été résolu.
Exécutez les packages mnv clean et mvn.
la source
Essayez de supprimer tout votre cache. Lorsque j'ai supprimé le dossier cible, cela fonctionne bien.
(Le dossier cible est l'endroit où maven met tout le code compilé)
la source
J'obtenais la même erreur après avoir mis à niveau ma version java de 8 à une version 8.x, je l'ai corrigée en allant à pom puis 1. clic droit> maven> ajouter un plugin 2. tapez org.apache.maven puis recherchez war plugin l'ajoutez et enregistrez, puis nettoyez et installez. Cela devrait marcher.
la source