2011-10-22 9 views
5

मेरे पास एक मेवेन प्रोजेक्ट है जिसे मैंने spring roo के साथ बनाया है। जब मैं mvn assembly:single चलाता हूं तो मुझे सभी निर्भरताओं के साथ एक वसा जार मिलता है, लेकिन वास्तविक कोड मैंने लिखा नहीं है। मेरे pom.xml से मेरी मेवेन-असेंबली-प्लगइन कॉन्फ़िगरेशन यहां है:"एमवीएन असेंबली: सिंगल" केवल असेंबली के साथ एक वसा जार क्यों बनाता है और मेरा कोड नहीं?

 <plugin> 
      <groupId>org.apache.maven.plugins</groupId> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2.1</version> 
      <configuration> 
       <descriptorRefs> 
        <descriptorRef>jar-with-dependencies</descriptorRef> 
       </descriptorRefs> 
       <archive> 
        <manifest> 
         <mainClass>net.justaprogrammer.poi.cleanser.Cleanser</mainClass> 
        </manifest> 
       </archive> 
      </configuration> 
     </plugin> 

मैं क्या गलत कर रहा हूं?

उत्तर

4

समाधान परियोजना जीवन चक्र के पैकेज चरण में एकल लक्ष्य जोड़ना है। इसका मतलब है आप विन्यास खंड के अंतर्गत निम्नलिखित xml जोड़ने के लिए:

  </configuration> 
      <executions> 
       <execution> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
       </execution> 
      </executions> 
1

खैर, jar-with-dependencies वास्तव में है कि तुम क्या वर्णन हो रहा है। आप mvn package का उपयोग क्यों नहीं करते?

+0

जार - ** ** के साथ - निर्भरता का तात्पर्य है कि जार में मैंने जो कोड लिखा था उसके अलावा निर्भरताएं शामिल हैं। साथ ही, यह समझ में नहीं आता है कि पैकेज चरण में गीत लक्ष्य जोड़ना एक ही लक्ष्य द्वारा उत्पादित टी आउटपुट को बदल देगा, जैसा कि मैंने अपने उत्तर में कहा था। –

7

मैं कहूंगा कि आपने जो किया है वह पूरी तरह से पर्याप्त है। असेंबली के बजाय: एकल, करें:

mvn clean compile assembly:single 

और आपको जाने के लिए अच्छा होना चाहिए।

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