2012-06-07 11 views
21

के बाद उत्पन्न संसाधनों को कैसे जोड़ा जाए मेरे पास एक मेवेन प्रोजेक्ट है जो संकलित जावा कक्षाओं से xsd फ़ाइलों को उत्पन्न करने के लिए wsgen का उपयोग करता है।
समस्या यह है कि मैं जेनरेटेड xsd फ़ाइलों को जार में संसाधनों के रूप में जोड़ना चाहता हूं।
चूंकि संसाधन चरण "प्रक्रिया-वर्ग" चरण से पहले चल रहा है, इसलिए मैं उन्हें जोड़ नहीं सकता हूं।
क्या "प्रक्रिया-वर्ग" चरण के बाद अतिरिक्त संसाधन जोड़ने का कोई तरीका है?मैवेन: संकलन चरण

उत्तर

33

मैं एक्सएसडी फ़ाइलों के लिए लक्ष्य/कक्षाओं में आउटपुट निर्देशिका को परिभाषित करने का सुझाव दूंगा (पूरक पूरक फ़ोल्डर के साथ हो सकता है जिसे बाद में पैकेज चरण के दौरान जार में पैक किया जाएगा। इसे maven-resources-plugin का उपयोग करके हासिल किया जा सकता है।

<project> 
    ... 
    <build> 
    <plugins> 
     <plugin> 
     <artifactId>maven-resources-plugin</artifactId> 
     <version>3.0.2</version> 
     <executions> 
      <execution> 
      <id>copy-resources</id> 
      <phase>process-classes</phase> 
      <goals> 
       <goal>copy-resources</goal> 
      </goals> 
      <configuration> 
       <outputDirectory>${project.build.outputDirectory}</outputDirectory> 
       <resources>   
       <resource> 
        <directory>${basedir}/target/xsd-out</directory> 
        <filtering>false</filtering> 
       </resource> 
       </resources>    
      </configuration>    
      </execution> 
     </executions> 
     </plugin> 
    </plugins> 
    ... 
    </build> 
    ... 
</project> 

आप देखभाल करने के लिए है कि संसाधनों प्लगइन जो wsgen हिस्सा कॉल करने के लिए प्रयोग किया जाता है प्लगइन के बाद स्थिति में है की जरूरत है। तुम भी बजाय तैयार पैकेज चरण का उपयोग करने के लिए कर सकते हैं यकीन है कि संसाधनों को सही ढंग से हो जाएगा पैक किया गया।

+0

एक आकर्षण की तरह काम किया! धन्यवाद बहुत –

+0

और स्कैन करने के लिए पैकेज को कैसे निर्दिष्ट करें? सभी संकुल – Youssef

+0

यह केवल 'निष्पादन' से 'प्लगइन' तक 'कॉन्फ़िगरेशन' को स्थानांतरित करने के बाद ही काम करता है। मेवेन xsd दोनों की अनुमति देता है, लेकिन यह प्लगइन –