Org.apache.maven.plugin.war.util.WebappStructure kann nicht erstellt werden, da es keinen Konstruktor ohne Argumente gibt


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

Maven Compiler Plugin:

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.3.2</version>
</plugin>

Wie kann ich den oben beschriebenen Fehler "Installationsziel ausführen" beheben?


möglicherweise Ihre xstream-Version stoßen?
Rogerdpack

Antworten:


136

Vielleicht wird eine Version des Maven War Plugins verwendet, die mit Java 7 nicht funktioniert? Gemäß diesem Problem (das ein ähnliches Problem beschreibt),2.1.1 Version Maven Plugin Krieg sollte funktionieren.

Fügen Sie Folgendes in Ihre pom.xml ein

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-war-plugin</artifactId>
    <version>2.1.1</version>
</plugin>

aber ich weiß nicht, wie ich diesen Patch anwenden soll
TechFind

@kasim. Die Antwort wurde aktualisiert, um anzugeben, wie dies zu tun ist.
Raghuram

Immer noch den gleichen Fehler, Maven-War-Plugin: 2.1.1 und Java 7. Irgendwelche Ideen? EDIT: Es scheint, dass es für das "Kriegs" -Ziel festgelegt ist, nicht für das "explodierte" Ziel. jira.codehaus.org/browse/MWAR-279
BrunoJCM

Problem bei JRockIt JVM v1.6.0_6-R28.1.4-4.0.1. Behebung durch Umstellung auf die letzte Version von Java 6 JDK von Sun (u45).
8bitjunkie

4
Inzwischen gibt es eine 2.4-Version des Maven-War-Plugins, die das Problem für mich gelöst hat.
Benjamin Seiller

16

Ich hatte dieses Problem beim a mvn install. Ich habe es gelöst, indem ich eine mvn cleanerste, gefolgt von einermvn install .

Verwenden von maven 2.1.1, JDK 1.7.0.45.


9

Es ist bestätigt: JDK7 mit Maven 2.x erzeugt diesen Fehler.

Ich verwende Maven 2.2.1 und JDK7 und habe diesen Fehler erhalten. Ich habe das JDK auf Version 1.6 geändert und es funktioniert einwandfrei.


8

Versuchen Sie Folgendes, anstatt JDK- und Maven-Versionen zu ändern:

<plugin>
    <artifactId>maven-compiler-plugin</artifactId>
    <configuration>
        <source>1.7</source>
        <target>1.7</target>
    </configuration>
    <version>2.3.2</version>
</plugin>

5

Bestätigt, ich bin auf dasselbe Problem mit maven 3.0.2 und jdk 1.7.0_02 gestoßen. Nachdem es gegen jdk 1.6.0_30 gelaufen war, wurde es einwandfrei kompiliert.


4

Ich glaube nicht, dass die Version das Problem war. Ich habe das Löschen meines Zielordners (da dieser die Datei webapp-cache.xml enthält) und die erneute Installation von Maven behoben.


4

Das Apache Maven WAR Plugin 3.0.0 hat alle Probleme behoben:

<artifactId>maven-war-plugin</artifactId>
<version>3.0.0</version>

Es spielt keine Rolle, ob Sie jdk 1.6, 1.7 oder 1.8 verwenden


2

Wenn Sie jdk 1.6 verwenden, fügen Sie diesen Plugin-Eintrag bitte Ihrer pom.xml hinzu

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.0.2</version>
    <configuration>
        <source>1.6</source>
        <target>1.6</target>
        <compilerArgument>-Xlint:all</compilerArgument>
        <showWarnings>true</showWarnings>
        <showDeprecation>true</showDeprecation>
    </configuration>
</plugin>

Vielen Dank, sogar das Hinzufügen der Optionen half, den Build zu heilen :)
Guido U. Draheim

2

Dies scheint definitiv mit inkompatiblen Plugin-, Bibliotheks- und Sprachversionen zu tun zu haben.

Zwei Jahre und zwei Java-Versionen später hatte ich denselben Fehler, als ich ein Beispielprojekt aus einem älteren Buch über Spring and Hibernate durchführte.

Ich konnte den Fehler beheben, indem ich alle Versions-Tags für die apache.maven.plugins auskommentierte und die Java-Version auf 1.8 setzte. Dies ließ mich wissen, was die neueste und beste Version der Bibliotheken war, mit den Kosten einiger Warnungen von Maven über das Fehlen der Versions-Tags. Wenn Sie sich für die Warnungen interessieren, können Sie die Versions-Tags auf die neueste Version setzen und die Warnungen von Maven sollten verschwinden.

Ich habe ausgeführt mvn clean packageund dann einfach mvn package.

<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-war-plugin</artifactId>
<!-- <version>2.1-beta-1</version> -->
</plugin>
<plugin>
     <groupId>org.apache.maven.plugins</groupId>
     <artifactId>maven-compiler-plugin</artifactId>
<!-- <version>2.1</version> -->
     <configuration>
          <source>1.8</source>
          <target>1.8</target>
     </configuration>
</plugin>

2

Ich hatte dieses Problem mit meinem Eclipse Kepler. Sobald ich zu 4.4 (Luna) wechselte, war alles weg. Muss ein Problem mit Eclipse + Maven sein

Ich habe sowohl JDK 1.7 als auch 1.8 ausprobiert. Kein Unterschied.


1

Für mich konnte das Ändern der Plugin-Version das Problem nicht lösen, und das Ändern der JDK-Version liegt nicht in meiner Kontrolle.

Das Ausführen mvn cleanzuvor mvn tomcat6:deploylöste dieses Problem jedoch.


0

Stellen Sie sicher, dass die JDK-Version in Ihrem Erstellungspfad und die im Quell-Tag angegebene Version übereinstimmen.

<plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-compiler-plugin</artifactId>
    <version>2.1</version>
    <configuration>
     **<source>1.7</source>**
       <target>1.7</target>
       <debug>true</debug>
    </configuration>
</plugin> `

Ich hatte den Build-Pfad, der im Quell-Tag auf jdk 1.7 und "1.6" zeigte. Als ich die Version im Quell-Tag auf 1.7 korrigierte, wurde das Problem behoben.

Führen Sie mnv clean und mvn package aus.


0

Versuchen Sie, Ihren gesamten Cache zu löschen. Wenn ich den Zielordner gelöscht habe, funktioniert es einwandfrei.

(In dem Zielordner legt maven den gesamten kompilierten Code ab.)


0

Ich habe den gleichen Fehler erhalten, nachdem ich meine Java-Version von 8 auf 8.x aktualisiert habe. Ich habe ihn behoben, indem ich zu pom gegangen bin und dann 1. Rechtsklick> maven> Plugin hinzugefügt 2. org.apache.maven eingegeben und dann gesucht habe War Plugin hinzufügen und speichern, dann einfach reinigen und installieren. Es sollte funktionieren.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.