2011-12-21 10 views
9

आमतौर पर उत्पन्न स्रोत लक्ष्य डीआईआर में बनाए जाने चाहिए। लेकिन मैं कक्षाओं को कैसे संभाल सकता हूं जिनका प्रयोग केवल परीक्षण के लिए किया जाता है? मैं नहीं चाहता कि ये कक्षाएं मेरे जार में पैक हो जाएं। क्या इस स्थिति से निपटने का कोई आम तरीका है?मेवेन: परीक्षण के लिए जेनरेट किए गए स्रोतों को कैसे संभालें (केवल)?

उत्तर

16

उपयोग Maven निर्माण सहायक प्लगइन के add-test-source निर्माण करने के लिए अपने उत्पन्न परीक्षण स्रोत फ़ाइलों को जोड़ने के लिए लक्ष्य -> ​​http://mojo.codehaus.org/build-helper-maven-plugin/add-test-source-mojo.html

यह सुनिश्चित करता है निर्देशिकाओं इस लक्ष्य से जोड़ा की test-compile चरण के दौरान संकलक प्लगइन द्वारा स्वचालित रूप से उठाया जाएगा कि निर्माण

संपादित

यहाँ कैसे साथ CXF-codegen-प्लगइन

<build> 
    <plugins> 
    ... 
    <plugin> 
     <groupId>org.apache.cxf</groupId> 
     <artifactId>cxf-codegen-plugin</artifactId> 
     <version>${cxf.version}</version> 
     <executions> 
     <execution> 
      <id>generate-test-sources</id> 
      <phase>generate-test-sources</phase> 
      <configuration> 
      <sourceRoot>${project.build.directory}/generated/cxf</sourceRoot> 
      <wsdlOptions> 
       <wsdlOption> 
       <wsdl>${basedir}/src/main/wsdl/myService.wsdl</wsdl> 
       </wsdlOption> 
      </wsdlOptions> 
      </configuration> 
      <goals> 
      <goal>wsdl2java</goal> 
      </goals> 
     </execution> 
     </executions> 
    </plugin> 
    <plugin> 
     <groupId>org.codehaus.mojo</groupId> 
     <artifactId>build-helper-maven-plugin</artifactId> 
     <version>${build-helper-maven-plugin.version}</version> 
     <executions> 
     <execution> 
      <id>add-test-sources</id> 
      <phase>generate-test-sources</phase> 
      <goals> 
      <goal>add-test-source</goal> 
      </goals> 
      <configuration> 
      <sources> 
       <source>${project.build.directory}/generated/cxf</source> 
      </sources> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    ... 
    </plugins> 
</build> 
+0

मैं उल्लेख करना चाहिए था testign के लिए कोड उत्पन्न करने के लिए की उदाहरण है, कि CXF-codegen-प्लगइन के रूप में dir जोड़ने एक सामान्य स्रोत फ़ोल्डर। तो यह अभी भी जार में पैक हो जाएगा, है ना? – lrxw

+0

@ मेफी। असल में, प्लगइन विवरण से, ऐसा लगता है कि यह केवल WSDL दस्तावेज़ से जावा फ़ाइलों को थकाता है। 'जेनरेशन-स्रोत-चरण' चरण में 'सीएक्सएफ-कोडजेन-प्लगइन' जोड़ें, और इसके बाद 'बिल्ड-हेल्पर-मेवेन-प्लगइन: ऐड-टेस्ट-सोर्स' जोड़ें और संकलित कक्षाएं केवल परीक्षण निष्पादन के लिए उपलब्ध होंगी –

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