引数のないコンストラクタがないため、org.apache.maven.plugin.war.util.WebappStructureを構築できません


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コンパイラプラグイン:

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

上記のインストールターゲットを実行したときにエラーが発生した場合、どうすれば解決できますか?


おそらくあなたのxstreamバージョンをぶつけますか?
rogerdpack 2013

回答:


136

おそらく、Java 7では動作しないバージョンのmaven warプラグインが使用されていますか?この問題(同様の問題について説明)に従って2.1.1、Maven warプラグインのバージョンが機能するはずです。

以下をpom.xmlに含めます

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

しかし、そのパッチの適用方法がわからない
TechFind

@kasim。これを行う方法を示すために回答を更新しました。
Raghuram、2011

それでも同じエラー、maven-war-plugin:2.1.1およびJava 7が発生します。何かアイデアはありますか?編集:「爆発した」目標ではなく、「戦争」目標のために修正されているようです。jira.codehaus.org/browse/MWAR-279
BrunoJCM 2013

JRockIt JVM v1.6.0_6-R28.1.4-4.0.1で発生する問題。Sun(u45)からJava 6 JDKの最新バージョンに移行することで解決しました。
8bitjunkie 2014

4
今のところ、問題を解決したmaven-war-pluginの2.4バージョンがあります。
Benjamin Seiller 2014

16

を行うときに私はこの問題を抱えていましたmvn installmvn clean最初にを実行し、次にを実行することで解決しましたmvn install

Maven 2.1.1、JDK 1.7.0.45を使用します。


9

それは確認されています:Maven 2.xのJDK7はこのエラーを生成します。

Maven 2.2.1とJDK7を使用していますが、このエラーが発生しました。JDKをバージョン1.6に変更したところ、問題なく動作しました。


8

JDKバージョンとMavenバージョンを変更する代わりに、これを試してください:

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

5

確認しましたが、Maven 3.0.2とjdk 1.7.0_02で同じ問題が発生しました。jdk 1.6.0_30に対して実行した後、問題なくコンパイルされました。


4

バージョンが問題だったとは思いません。(webapp-cache.xmlが含まれているため)ターゲットフォルダーを削除して、Mavenのインストールを再度実行することで解決しました。


4

Apache Maven WARプラグイン3.0.0はすべての問題を解決しました:

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

jdk 1.6、1.7、または1.8を使用するかどうかは関係ありません


2

jdk 1.6を使用している場合は、このプラグインエントリをpom.xmlに追加してください。

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

おかげで、ビルドを
修正

2

これは、互換性のないプラグイン、ライブラリ、および言語バージョンに関連しているようです。

2年後と2つのJavaバージョン後、SpringとHibernateに関する古い本のサンプルプロジェクトを実行しているときにも同じエラーが発生しました。

apache.maven.pluginsのすべてのバージョンタグをコメントアウトし、Javaバージョンを1.8に設定することで、エラーを解決できました。これにより、ライブラリの最新かつ最高のバージョンが何であるかがわかりました。バージョンタグの欠落に関するMavenからの警告がいくつかあります。警告を気にする場合は、バージョンタグを最新バージョンに設定すると、Mavenからの警告が表示されなくなります。

私は実行しmvn clean package、それからちょうど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

私の日食ケプラーでこの問題がありました。4.4(Luna)に移動するとすぐに、すべて消えてしまいました。Eclipse + Maven埋め込みの問題である必要があります

JDK 1.7と1.8の両方を試しました。変わりはない。


1

私にとっては、プラグインのバージョンを変更しても問題を解決できず、JDKのバージョンを変更することは私の管理下にありません。

ただし、この問題を解決するmvn clean前に実行していmvn tomcat6:deployます。


0

ビルドパスのJDKバージョンとソースタグで指定されたバージョンが同じであることを確認してください。

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

ソースタグのバージョンを1.7に修正したときに問題が解決したので、ソースタグのビルドパスがjdk 1.7および「1.6」を指していました。

mnv cleanおよびmvnパッケージを実行します。


0

すべてのキャッシュを削除してみてください。対象のフォルダを削除したところ、正常に動作しました。

(ターゲットフォルダーはmavenがすべてのコンパイル済みコードを置く場所です)


0

Javaバージョンを8からいくつかの8.xにアップグレードした後も同じエラーが発生しました。pomに移動して修正しました。1。右クリック> maven>追加プラグイン2. org.apache.mavenと入力して探しますwarプラグインはそれを追加して保存し、クリーンアップしてインストールします。うまくいくはずです。

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.