2012-01-30 12 views
10

मेरे पास एक फ़ाइल है जो रिलीज बिल्ड के लिए बिल्ड-नंबर बनाए रखती है। हर बार एक रिलीज बिल्ड किया जाता है, यह संख्या बढ़ी है और फ़ाइल svn भंडार में सहेजी गई है।मेवेन: प्रोफाइल पर आधारित प्लगइन का उपयोग

अब कहें कि मेरे पास यह काम करने के लिए एक प्लगइन है और मैंने एक बिल्ड प्रोफाइल बनाया है। लेकिन मुझे इस प्लगइन की आवश्यकता होती है जब प्रोफ़ाइल को सक्रिय किया जाता है और अन्यथा नहीं। मुझे लगता है कि प्रोफ़ाइल जोड़ने के लिए प्लगइन प्रबंधन नीचे की तरह रास्ता हो सकता है। कोई सुझाव?

<profiles> 
    <id>release</id>  
    <build> 
     <pluginManagement> 
      <plugins> 
       <plugin> 
        .. 
       </plugin> 
      </plugins> 
     </pluginManagement> 
    </build> 
</profiles> 

उत्तर

5

प्लगइन का उपयोग करना प्रबंधन प्लगइन को चलाने के लिए कारण नहीं बनता है। इसका उपयोग बाल पीओएम को प्लगइन संस्करण और कॉन्फ़िगरेशन जानकारी निर्दिष्ट करने के लिए किया जाता है। इसके अलावा आप 'प्रोफ़ाइल' के 'प्रोफाइल' बाल तत्व को खो रहे हैं। अंत में, जब तक आप -P के माध्यम से प्रोफ़ाइल को सक्रिय करने की योजना नहीं बनाते, आपको कुछ सक्रियण मानदंडों की आवश्यकता होगी।

27

मैं सुझाव दूंगा कि आप पहले प्रोफाइल बनाने के लिए प्रलेखन देखें। आप here पा सकते हैं। पहली चीज़ जो आप देखना चाहते हैं वह यह है:

प्रोफ़ाइल कैसे ट्रिगर की जा सकती है? यह प्रोफ़ाइल के प्रकार के हिसाब से कैसे भिन्न होता है?

मूल रूप से, एक बार आप समझते हैं कि, ध्यान दें कि क्या आप अपने प्रोफ़ाइल अनुभाग में डाल सुंदर तुम्हारे पास क्या है बाहर अपने प्रोफ़ाइल के करीब है। ऐसा कहा जा रहा है कि, यदि आपको प्रोफ़ाइल विशिष्ट निर्माण अनुभाग की आवश्यकता है, तो यह के बाहर प्रोफ़ाइल के बाहर अनुकरण करना चाहिए - यदि आप pom.xsd पर एक नज़र डालते हैं तो यह वही है जो मुझे विश्वास है।

तो, उदाहरण के लिए:

<profiles> 
    <profile> 
     <id>full-build</id> 
     <activation> 
      <property> 
       <name>build</name> 
       <value>full</value> 
      </property> 
     </activation> 
     <build> 
      <plugins> 
       <plugin> 
        <groupId>org.codehaus.mojo.webstart</groupId> 
        <artifactId>webstart-maven-plugin</artifactId> 
        <version>1.0-beta-1</version> 
        <executions> 
         <execution> 
          <phase>package</phase> 
          <goals> 
           <goal>jnlp</goal> 
          </goals> 
         </execution> 
        </executions> 
        <configuration> 
         <resourcesDirectory>src/main/web</resourcesDirectory> 
         .... 

यह चलाकर ट्रिगर हो जाएगा: mvn package -Dbuild=full

मुझे आशा है कि इस मदद करता है।

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