2012-03-06 7 views
45

के बिना मेवेन के साथ प्रोजेक्ट कैसे बनाएं, मुझे संस्करण के बिना एक प्रोजेक्ट बनाने की आवश्यकता है। मैं एक परियोजना कॉल commonjerseylib है जब मैं यह Maven मैं commonjerseylib-1.0.war हो रही है का उपयोग करके निर्माण लेकिन मैं युद्ध फ़ाइल नाम commonjerseylib.warमेरे प्रोजेक्ट में से किसी एक में वर्जन

मैं पोम से, लेकिन अभी भी डिफ़ॉल्ट Maven द्वारा संस्करण टैग को निकालने के 1.0 के साथ पैदा कर रही है की जरूरत है संस्करण।

अग्रिम

<modelVersion>4.0.0</modelVersion> 
    <groupId>commonjerseylib</groupId> 
    <artifactId>commonjerseylib</artifactId> 
    <packaging>ear</packaging> 
    <name>commonjerseylib</name> 
    <!--<version>1.0</version>--> 

उत्तर

102

तुम हमेशा एक परियोजना के लिए एक संस्करण संख्या की आवश्यकता होगी धन्यवाद, लेकिन यह के माध्यम से उत्पन्न पैकेज (जार, युद्ध, कान, आदि) का नाम बदलने के लिए संभव है पीओएम में <finalName> तत्व।

<project> 
    ... 
    <build> 
     ... 
     <finalName>${project.artifactId}</finalName> 
     ... 
    </build> 
    ... 
</project> 

या Maven के पुराने संस्करणों में:

 ... 
     <finalName>${artifactId}</finalName> 
     ... 

डिफ़ॉल्ट रूप से, finalName ${project.artifactId}-${project.version} है, लेकिन इस कुछ और करने के लिए बदला जा सकता है। यह केवल target निर्देशिका में बनाए गए पैकेज के नाम को प्रभावित करेगा; स्थानीय भंडार में फ़ाइल का नाम और रिमोट रिपॉजिटरीज़ पर अपलोड किया गया हमेशा एक संस्करण संख्या होगी।

अधिक जानकारी के लिए POM reference documentation देखें।

+0

, सही स्पष्ट और साफ है कि! – Thomas

+6

कम से कम मेवेन 3.0.3, $ {artifactId} को $ {project.artifactId} के पक्ष में बहिष्कृत किया गया है। – Glenn

+0

@prunge: उत्तर के लिए धन्यवाद। क्या आप ऐसा करने के किसी भी तरीके से जानते हैं क्योंकि यह स्थानीय भंडार और दूरस्थ भंडार में फ़ाइल नाम पर प्रभाव डालता है। – namalfernandolk

6
निर्माण में Maven युद्ध प्लगइन में

, बदल

<warName> ${artifactId} </warName> 

 <build> 
      .......... 
      <plugin> 
       <groupId>org.apache.maven.plugins</groupId> 
       <artifactId>maven-war-plugin</artifactId> 
       <version>2.3</version> 
       <configuration> 
        <!-- web.xml is not mandatory since JavaEE 5 --> 
        <failOnMissingWebXml>false</failOnMissingWebXml> 
        <warName>${artifactId}</warName> 
       </configuration> 
      </plugin> 
     ............. 
     <build> 
संबंधित मुद्दे