Args yapıcısı olmadığı için org.apache.maven.plugin.war.util.WebappStructure oluşturulamıyor


93
[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 derleyici Eklentisi:

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

Yukarıdaki yükleme hedefini çalıştırdığımda hata oluşuyor, bunu nasıl çözebilirim?


xstream sürümünüzü çarpabilir mi?
rogerdpack

Yanıtlar:


136

Belki de Java 7 ile çalışmayan bir maven savaş eklentisi sürümü kullanılıyor? Gereğince bu konuda (benzer bir sorun açıklanır olan), 2.1.1maven savaş Eklentinin sürümü çalışmalıdır.

Aşağıdakileri pom.xml dosyanıza ekleyin

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

ancak bu yamayı nasıl uygulayacağınızı bilmiyorum
TechFind

@kasim. Bunun nasıl yapılacağını belirtmek için güncellenmiş yanıt.
Raghuram

Hala aynı hatayı alıyorum, maven-war-eklentisi: 2.1.1 ve Java 7. Herhangi bir fikriniz var mı? DÜZENLEME: Görünüşe göre "patlak" hedefi için değil, "savaş" hedefi için sabitlenmiş. jira.codehaus.org/browse/MWAR-279
BrunoJCM

JRockIt JVM v1.6.0_6-R28.1.4-4.0.1'de görülen sorun. Sun'dan Java 6 JDK'nın son sürümüne (u45) taşınarak çözüldü.
8bitjunkie

4
Şimdiye kadar benim için sorunu çözen maven-war-eklentisinin 2.4 sürümü var.
Benjamin Seiller

16

A yaparken bu sorunu yaşadım mvn install. mvn cleanÖnce bir, ardından a yaparak çözdüm mvn install.

Maven 2.1.1, JDK 1.7.0.45 kullanarak.


9

Doğrulandı: Maven 2.x ile JDK7 bu hatayı oluşturacaktır.

Maven 2.2.1 ve JDK7 kullanıyorum ve bu hatayı aldım. JDK'yı 1.6 sürümüne değiştirdim ve iyi çalışıyor.


8

JDK sürümlerini ve Maven sürümlerini değiştirmek yerine şunu deneyin:

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

5

Doğrulandı, maven 3.0.2 ve jdk 1.7.0_02 ile aynı sorunla karşılaştım. 1.6.0_30 jdk ile çalıştırıldıktan sonra gayet iyi derlendi.


4

Sorunun versiyon olduğunu sanmıyorum. Hedef klasörümü silmeyi (webapp-cache.xml içerdiği için) ve Maven kurulumunu tekrar yapmayı çözdüm.


4

Apache Maven WAR Plugin 3.0.0 tüm sorunları çözdü:

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

Jdk 1.6, 1.7 veya 1.8 kullanmanız önemli değil


2

jdk 1.6 kullanıyorsanız lütfen bu eklenti girişini pom.xml dosyanıza ekleyin

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

Teşekkürler, seçeneklerin eklenmesi bile yapının iyileştirilmesine yardımcı oldu :)
Guido U. Draheim

2

Bu kesinlikle uyumsuz eklenti, kitaplık ve dil sürümleriyle ilişkili görünüyor.

İki yıl ve iki Java sürümü sonra, Spring ve Hibernate ile ilgili eski bir kitaptan örnek bir proje yaparken aynı hatayı yaşadım.

Apache.maven.plugins için tüm sürüm etiketlerini yorumlayarak ve Java sürümünü 1.8 olarak ayarlayarak hatayı çözebildim. Bu, kitaplıkların en son ve en büyük sürümünün hangisi olduğunu, Maven'den sürüm etiketlerinin eksikliğiyle ilgili bazı uyarıların maliyeti ile birlikte bana bildirdi. Uyarıları önemsiyorsanız, sürüm etiketlerini en son sürüm olacak şekilde ayarlayabilirsiniz ve Maven'den gelen uyarılar kaybolmalıdır.

Ben idam ettim mvn clean packageve sonra sadece 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

Tutulma Kepler'imle bu sorunu yaşadım. 4.4'e (Luna) taşındığım anda hepsi gitti. Gömülü tutulma + maven ile ilgili bir sorun olmalı

Hem JDK 1.7 hem de 1.8 denedim. Fark yok.


1

Benim için eklenti sürümünü değiştirmek sorunu çözemedi ve JDK sürümünü değiştirmek benim kontrolümde değil.

Ancak daha mvn cleanönce koşmak mvn tomcat6:deploybu sorunu çözdü.


0

Derleme yolunuzdaki JDK sürümünün ve kaynak etiketinde belirtilen sürümün aynı olduğundan emin olun.

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

Kaynak etiketinde jdk 1.7 ve "1.6" yı gösteren derleme yolum vardı, sürümü kaynak etiketinde 1.7 olarak düzelttiğimde sorun çözüldü.

Mnv temiz ve mvn paketini çalıştırın.


0

Tüm önbelleğinizi silmeyi deneyin. Hedef klasörü sildiğimde iyi çalışıyor.

(Hedef klasör, maven'in tüm derlenmiş kodu koyduğu yerdir)


0

Java sürümümü 8'den 8.x'e yükselttikten sonra aynı hatayı alıyordum, pom'a giderek düzelttim ve ardından 1. sağ tıklama> maven> eklenti ekle 2. org.apache.maven yazın ve ardından şunu arayın war eklentisi ekleyin ve kaydedin, ardından temizleyin ve kurun. İşe yaramalı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.