2010-05-02 3 views
16

मैं कॉन्फ़िगर किया है निम्नलिखित विधानसभा:मेवेन असेंबली प्लगइन अटैच = सत्य के साथ स्थापित करने के लिए अंतिम नाम का उपयोग नहीं कर रहा है?

<build> 
    <plugins> 
     <plugin> 
      <artifactId>maven-assembly-plugin</artifactId> 
      <version>2.2-beta-5</version> 
      <executions> 
       <execution> 
        <id>${project.name}-test-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <appendAssemblyId>false</appendAssemblyId> 
         <finalName>${project.name}-test</finalName> 
         <filters> 
          <filter>src/assemble/test/distribution.properties</filter> 
         </filters> 
         <descriptors> 
          <descriptor>src/assemble/distribution.xml</descriptor> 
         </descriptors> 
         <attach>true</attach> 
        </configuration> 
       </execution> 
       <execution> 
        <id>${project.name}-prod-assembly</id> 
        <phase>package</phase> 
        <goals> 
         <goal>single</goal> 
        </goals> 
        <configuration> 
         <appendAssemblyId>false</appendAssemblyId> 
         <finalName>${project.name}-prod</finalName> 
         <filters> 
          <filter>src/assemble/prod/distribution.properties</filter> 
         </filters> 
         <descriptors> 
          <descriptor>src/assemble/distribution.xml</descriptor> 
         </descriptors> 
         <attach>true</attach> 
        </configuration> 
       </execution> 
      </executions> 
     </plugin> 
    </plugins> 
</build> 

यह उत्पादन दो ज़िप फ़ाइलें:

  • distribution-prod.zip
  • distribution-test.zip

मेरे उम्मीद के लिए संपत्ति संलग्न = सत्य है, कि दो ज़िप-फाइलों को नाम के साथ स्थापित किया गया है जैसा कि पीआर में दिया गया है ऑपरेटिंग अंतिम नाम। लेकिन नतीजा यह है कि आर्टिफैक्ट में केवल एक फ़ाइल स्थापित (संलग्न) है। Maven प्रोटोकॉल है:

  • distrib-0.1-SNAPSHOT.zip
  • distrib-0.1-SNAPSHOT.zip

प्लगइन विरूपण साक्ष्य-आईडी संपत्ति finalName के बजाय का उपयोग कर रहा है! क्या यह एक बग है?

अंतिम स्थापना पहले को ओवरराइट कर रही है। मैं इन दो फ़ाइलों को अलग-अलग नामों से स्थापित करने के लिए क्या कर सकता हूं?

आपकी जांच के लिए धन्यवाद। रोलैंड

उत्तर

19

अंतिम स्थापना पहले को ओवरराइट कर रही है। मैं इन दो फाइलों को अलग-अलग नामों से स्थापित करने के लिए क्या कर सकता हूं?

जैसा कि अपेक्षित है (मुझे नहीं पता कि यह एक बग है या नहीं, लेकिन इस तरह असेंबली प्लगइन काम करता है)। इससे बचने के लिए आप true को appendAssemblyId गुण सेट और, एक बराबर परिणाम प्राप्त करने के लिए, finalNametest और prod को ${project.name} करने और assemby id बदलने के लिए (अर्थात दो विधानसभा वर्णनकर्ता उपयोग करने के लिए) करना होगा। कुछ इस तरह:

<build> 
    <plugins> 
    <plugin> 
     <artifactId>maven-assembly-plugin</artifactId> 
     <version>2.2-beta-5</version> 
     <executions> 
     <execution> 
      <id>${project.name}-test-assembly</id> 
      <phase>package</phase> 
      <goals> 
      <goal>single</goal> 
      </goals> 
      <configuration> 
      <appendAssemblyId>true</appendAssemblyId> 
      <finalName>${project.name}</finalName> 
      <filters> 
       <filter>src/assemble/test/distribution.properties</filter> 
      </filters> 
      <descriptors> 
       <descriptor>src/assemble/distribution-test.xml</descriptor> 
      </descriptors> 
      </configuration> 
     </execution> 
     <execution> 
      <id>${project.name}-prod-assembly</id> 
      <phase>package</phase> 
      <goals> 
      <goal>single</goal> 
      </goals> 
      <configuration> 
      <appendAssemblyId>true</appendAssemblyId> 
      <finalName>${project.name}</finalName> 
      <filters> 
       <filter>src/assemble/prod/distribution.properties</filter> 
      </filters> 
      <descriptors> 
       <descriptor>src/assemble/distribution-prod.xml</descriptor> 
      </descriptors> 
      </configuration> 
     </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 

कहाँ distribution-test.xml और distribution-prod.xml घोषित विधानसभा idtest और prod क्रमशः।

+0

एक आकर्षण की तरह काम किया (कोड का प्रयास नहीं किया, लेकिन सिद्धांत) –

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