2009-05-19 18 views
13

मेरे maven2 प्रोजेक्ट में मेरे पास एक निर्देशिका ${basedir}/autogen है जिसमें wsdl2java द्वारा उत्पादित कुछ स्वत: जेनरेटेड स्रोत कोड फ़ाइलें शामिल हैं।मेवेन संकलन त्रुटि: डुप्लिकेट कक्षाएं

mvn compile चलाते समय मुझे डुप्लिकेट कक्षाओं के कारण संकलन त्रुटि मिलती है, जो ${basedir}/autogen में रहता है। यह सच है। लेकिन ${basedir}/autogen में संकलन चरण क्या कर रहा है? मैंने इस निर्देशिका को स्रोत निर्देशिका के रूप में जोड़ने के लिए मैवेन को नहीं बताया है। और ऐसा लगता है कि निर्देशिका को अनदेखा करने के लिए मेवेन को बताने का कोई तरीका नहीं है।

+0

तरह दिखेगा @ vpalle क्या आप डुप्लिकेट क्लास नाम सूचीबद्ध कर सकते हैं? क्या वे जावैक्स की नकल हैं। * कक्षाएं? – sal

+0

मुझे एक समान समस्या है, मुझे एक wsdl वेब सेवा और स्कीमा xsd को पचाने की आवश्यकता है। न तो मुझे बस इतना चाहिए, लेकिन ओवरलैप में डुप्लिकेट हैं जो फिर संकलन पर डुप्लिकेट क्लास त्रुटियों को फेंक देते हैं। – Adam

उत्तर

0

इसकी मुश्किल डिफ़ॉल्ट Maven व्यवहार बदलने के लिए, मैं अपने बेहतर इसके साथ जाने के लिए लगता है - आप Maven wsdl2java-maven-plugin

+0

मैं उन्हें एक मेवेन प्लगइन के साथ उत्पन्न कर रहा हूं। – vpalle

4

साथ उन फ़ाइलों को उत्पन्न कर सकता है मैं इस कई बार देखा है। लगभग सभी मामलों में, यह जेनरेट किए गए वर्गों को मुख्य स्रोत पेड़ में जोड़ा जा रहा है, फिर संस्करण नियंत्रण में चेक किया गया है।

+1

तो उन्हें संस्करण नियंत्रण से फिर से हटा रहा है, इसे हल कर सकता है? – vpalle

+0

उन्हें पहले स्थान पर संस्करण नियंत्रण में जोड़ा नहीं गया था, बस चेक किया गया, इसलिए मुझे लगता है कि यह समस्या नहीं है .. – vpalle

+0

यह एन्वेयर बहुत उपयोगी है। धन्यवाद महोदय। दो बार जांचें कि क्या आपके स्थानीय कॉन्फ़िगरेशन परिवर्तन मुख्य फ़ोल्डर में कक्षाएं नहीं बनाते हैं। फिर संस्करण नियंत्रण में नहीं रखा जा सकता है (और संभवतः नहीं) क्योंकि कोई भी कभी भी कोड नहीं कराना चाहता है। – kboom

1

मुझे जेपीए मॉडल जनरेटर के साथ एक ही समस्या थी। यह इस निर्भरता को हुई:

<dependency> 
    <groupId>org.eclipse.persistence</groupId> 
    <artifactId>org.eclipse.persistence.jpa.modelgen</artifactId> 
    <version>2.1.1</version> 
</dependency> 

मैं गलत तरीके से गुंजाइश जोड़ा = प्रदान की और कहा कि में हुई:

[ERROR] Failed to execute goal org.apache.maven.plugins:maven-compiler-plugin:2.3.1:compile (default-compile) on project mocker: Compilation failure: Compilation failure: 
[ERROR] \Projects\entity\MockVehicle_.java:[10,7] duplicate class: entity.MockVehicle_ 
22

मैं जब Maven प्रोसेसर-प्लगइन का उपयोग कर एक ही समस्या थी और उस समाधान पाया इस प्रकार Maven-संकलक प्लगइन कॉन्फ़िगर करने के लिए किया गया था:

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-compiler-plugin</artifactId> 
      <version>2.1</version> 
      <configuration> 
       <source>1.6</source> 
       <target>1.6</target> 
       <compilerArgument>-proc:none</compilerArgument> 
      </configuration> 
     </plugin> 

-proc: कोई नहीं मतलब यह है कि संकलन एनोटेशन प्रसंस्करण के बिना जगह लेता है और इसलिए कोई डुप्लिकेट वर्गों (जो typic हैं सहयोगी स्रोत चरण में उत्पन्न सहयोगी)

मुझे उम्मीद है कि इससे मदद मिलती है।

+2

हाइबरनेट के जेपीए स्टेटिक मेटामोडेल जनरेटर प्रलेखन में कहा गया है कि यदि आप प्रोसेसर – dSebastien

+1

महान निष्पादन के निष्पादन को नियंत्रित करना चाहते हैं तो आप मेवेन-प्रोसेसर-प्लगइन के साथ संयोजन में दिए गए समाधान का उपयोग कर सकते हैं! [MapStruct] (http://mapstruct.org) के साथ मेरी समस्याओं का समाधान किया। –

+0

इससे मदद नहीं मिली, मेरे जेएआर संग्रह में अभी भी डुप्लिकेट क्लास फाइलें हैं। –

-2

मैं एक ही मुद्दा

  1. cleaning maven project :- mvn clean
  2. delete com folder from src then compile
  3. copy com from generated to src->main-->java
  4. again compile

आशा यह सहायता ..

1

मैं इसे के आधार पर अपने pom.xml से generateAsync हटाने को हल हल GWT प्लगइन

   <groupId>org.codehaus.mojo</groupId> 
       <artifactId>gwt-maven-plugin</artifactId> 
       <version>${gwtVersion}</version> 
       <executions> 
        <execution> 
         <goals> 
          <goal>compile</goal> 
          <goal>test</goal> 
          <!-- <goal>i18n</goal> --> 

         </goals> 
        </execution> 
       </executions> 
+0

हटाई गई रेखा जेनरेट एसिंक

+0

यह मेरे लिए काम करती है (मेवेन, जीडब्ल्यूटी, अनुरोध फैक्टरी) –

संबंधित मुद्दे