बिना संस्करण के मावेन परियोजना का निर्माण कैसे करें?


81

मेरे पास एक मावेन परियोजना है जिसे मैं बिना संस्करण के बनाना चाहता हूं।

अब, जब मैं मावेन का उपयोग करके परियोजना का निर्माण करता हूं, तो यह इसे बनाता है commonjerseylib-1.0.warलेकिन मुझे इसे बनाने की आवश्यकता है commonjerseylib.war

उसके अलावा, मैं <version>टैग को हटा देता हूं pom.xmlलेकिन फिर भी मावेन warडिफ़ॉल्ट रूप से 1.0 संस्करण के साथ बना रहा है ।

मेरा pom.xml:

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

बिना संस्करण के इसे कैसे बनाया जाए?

जवाबों:


169

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

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

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

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

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

देखें पोम संदर्भ दस्तावेज़ और जानकारी के लिए।


यह एकदम सही, साफ और साफ है!
थॉमस

7
कम से कम मावेन 3.0.3, $ {विरूपण साक्ष्य} को $ {project.artifactId} के पक्ष में चित्रित किया गया है।
ग्लेन

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

ध्यान दें कि यह कमांड लाइन से ओवरराइड करने के लिए काम नहीं करता है जैसे -Dproject.build.finalName=whatever- यदि आप कमांड लाइन पर जार का नाम निर्दिष्ट करने में सक्षम होना चाहते हैं, तो stackoverflow.com/a/13877971/587365
एंड्रयू स्पेन्सर

12

निर्माण, परिवर्तन में मावेन युद्ध प्लगइन में

<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>

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.