2012-05-09 12 views
21

मैं वर्तमान में जावा परियोजनाओं का कुछ सफाई कर रहा हूं जो मेवेन का उपयोग करते हैं, और पीओएम में 'डीबग' समस्याओं के लिए नेटबीन आईडीई का उपयोग करते हैं। मैंने मैवेन संस्करण के रूप में आईडीई में मेवेन 3.0.4 सेट किया है, लेकिन अन्य डेवलपर्स या हमारे सतत घुसपैठ प्रणाली में अलग-अलग सेटिंग्स हो सकती हैं।मेवेन पीओएम निर्दिष्ट कर सकता है और क्या इसे मेवेन 3 या नए की आवश्यकता है?

क्या पीओएम में सीधे एक विशिष्ट मेवेन संस्करण को लागू करना संभव है (उदाहरण के लिए मेवेन 3 विशिष्ट तत्व का उपयोग करके)?

उत्तर

23

हाँ आप कर सकते हैं और आपको चाहिए। कुछ मेवेन प्लगइन्स मेवेन 3 या नए की आवश्यकता होती है।

उपयोग Maven-एनफोर्सर-प्लगइन आपके pom.xml के लिए निम्न जोड़कर:

<build> 
    <plugins> 
    <plugin> 
     <inherited>true</inherited> 
     <groupId>org.apache.maven.plugins</groupId> 
     <artifactId>maven-enforcer-plugin</artifactId> 
     <version>1.3.1</version> 
     <executions> 
      <execution> 
      <id>enforce-maven-3</id> 
      <goals> 
       <goal>enforce</goal> 
      </goals> 
      <configuration> 
       <rules> 
       <requireMavenVersion> 
        <version>3.0.5</version> 
       </requireMavenVersion>     
       </rules> 
       <fail>true</fail> 
      </configuration> 
      </execution> 
     </executions> 
    </plugin> 
    </plugins> 
</build> 
5

सबसे अच्छी बात आप कर सकते हैं लागू करने वाले के प्लगइन का उपयोग करने के लिए है। यहां एक उदाहरण दिया गया है:
http://maven.apache.org/enforcer/enforcer-rules/requireMavenVersion.html

ऐसा करने के लिए मेवेन में स्वयं से बाहर की कोई विधि विधि नहीं है। वास्तव में prerequisites टैग है लेकिन यह अच्छी तरह से काम नहीं करता है, क्योंकि बच्चे इसका वारिस नहीं करते हैं।

+0

लिंक सहित के प्रति जागरूक रहें, क्योंकि वे मर सकते हैं ... और ध्यान दें एक और जवाब यह है कि प्रासंगिक स्निपेट शामिल पहले से ही वहाँ था। – Barett

7

एक अन्य विकल्प उदाहरण के लिए, पोम में आवश्यक शर्तें तत्व का उपयोग करने के लिए है:

<project> 
    ... 
    <prerequisites> 
     <maven>3.0.0</maven> 
    </prerequisites> 
    ... 
</project> 

के रूप में उल्लेख किया Michal Kalinowski's answer - इस सरल दृष्टिकोण बच्चों परियोजनाओं के लिए इतनी अच्छी तरह से काम नहीं करता।

एक सारांश जिनमें से दृष्टिकोण आपके लिए सबसे अच्छा काम करेंगे के लिए, यहाँ देखें: enforcing maven 3 - when to use maven enforcer plugin? when to use pom prerequisites element?

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