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

मावेन कंपाइलर प्लगिन:

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

जब मैं त्रुटि से ऊपर स्थापित लक्ष्य चलाता हूं, तो मैं इसे कैसे हल कर सकता हूं?


संभवतः अपने xstream संस्करण टक्कर?
रॉगरडैक

जवाबों:


136

शायद मावेन युद्ध प्लगइन के एक संस्करण का उपयोग किया जा रहा है, जो जावा 7 के साथ काम नहीं करता है? इस समस्या के अनुसार (जो एक समान समस्या का वर्णन करता है),2.1.1 मावेन युद्ध प्लगइन का संस्करण काम करना चाहिए।

अपने pom.xml में निम्नलिखित शामिल करें

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

लेकिन उस पैच को लागू करने का तरीका नहीं जानते
TechFind

@kasim। यह करने के लिए इंगित करने के लिए अद्यतित उत्तर।
रघुराम

अभी भी एक ही त्रुटि हो रही है, मावेन-युद्ध-प्लगइन: 2.1.1 और जावा 7. कोई विचार? संपादित करें: ऐसा लगता है कि यह 'युद्ध' लक्ष्य के लिए तय किया गया है, न कि 'विस्फोट' लक्ष्य के लिए। jira.codehaus.org/browse/MWAR-279
ब्रूनो जेसीएम

JRockIt JVM v1.6.0_6-R28.1.4-4.0.1 पर देखी गई समस्या। Sun (u45) से Java 6 JDK के अंतिम संस्करण पर जाकर हल किया गया।
8bitjunkie 16

4
अब तक मावेन-युद्ध-प्लगइन का 2.4 संस्करण है जो मेरे लिए समस्या को हल करता है।
बेंजामिन सेलर

16

जब मुझे यह समस्या थी mvn install। मैंने इसे mvn cleanपहले करके हल किया, उसके बाद एmvn install

मावेन 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

पुष्टि की, मैं मावेन 3.0.2 और jdk 1.7.0_02 के साथ एक ही मुद्दे में भाग गया। Jdk 1.6.0_30 के खिलाफ चलने के बाद यह ठीक संकलित हुआ।


4

मुझे नहीं लगता कि संस्करण की समस्या थी। मैंने अपना लक्ष्य फ़ोल्डर हटा दिया (क्योंकि इसमें webapp-cache.xml है) और Maven फिर से इंस्टॉल कर रहा है।


4

Apache Maven WAR Plugin 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

यह निश्चित रूप से असंगत प्लगइन, पुस्तकालय और भाषा संस्करणों से संबंधित प्रतीत होता है।

दो साल और दो जावा संस्करण बाद में, स्प्रिंग और हाइबरनेट पर एक पुरानी किताब से एक नमूना परियोजना करते समय मुझे यही त्रुटि थी।

मैं Apache.maven.plugins के लिए सभी संस्करण टैग्स की टिप्पणी करके और जावा संस्करण को 1.8 पर सेट करके त्रुटि को हल करने में सक्षम था। यह मुझे पता है कि लाइब्रेरियों का नवीनतम और सबसे बड़ा संस्करण क्या था, जिसमें मावेन की कुछ चेतावनियों की लागत के साथ संस्करण टैग गायब थे। यदि आप चेतावनियों के बारे में परवाह करते हैं, तो आप संस्करण टैग को नवीनतम संस्करण के लिए सेट कर सकते हैं और मावेन से चेतावनी को दूर जाना चाहिए।

मैंने अमल किया 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 (लूना) में चला गया, सभी चले गए। ग्रहण + मावेन एम्बेडेड के साथ एक मुद्दा होना चाहिए

मैंने 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 और "1.6" इंगित करने के लिए बिल्ड पथ था, जब मैंने स्रोत टैग में संस्करण 1.7 को सही किया तो समस्या हल हो गई।

Exnute mnv साफ और mvan पैकेज।


0

अपने सभी कैश को हटाने का प्रयास करें। जब मैंने लक्ष्य फ़ोल्डर को हटा दिया, तो यह ठीक काम करता है।

(लक्ष्य फ़ोल्डर वह जगह है जहाँ मावेन सभी संकलित कोड डालता है)


0

8 से कुछ 8.x पर अपने जावा संस्करण को अपग्रेड करने के बाद मुझे वही त्रुटि मिल रही थी, मैंने इसे pom पर जाकर ठीक किया। 1. राइट क्लिक> maven> प्लगइन जोड़ें 2. org.apache.maven में टाइप करें और फिर देखें युद्ध प्लगइन इसे जोड़ने और बचाने के लिए, तो बस साफ और स्थापित करें। यह काम करना चाहिए।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.