2011-03-26 13 views
27

मेरे पास कुछ paven.xml में कॉन्फ़िगर किए गए कुछ मेवेन प्लगइन्स हैं। यदि परीक्षण चल रहे हैं तो मैं केवल इन प्लगइन को निष्पादित करना चाहता हूं (परीक्षण -Dmaven.test.skip=true या -DskipTests का उपयोग करके छोड़ा जा सकता है)।सशर्त रूप से मैवेन प्लगइन्स निष्पादित करें

इनमें से एक प्लगइन process-classes जीवन चक्र चरण बनाने के लिए बाध्य है और दूसरा pre-integration-test चरण से जुड़ा हुआ है।

+0

मेरे पास ऐसी ही स्थिति थी जहां मैं प्लग-इन करना चाहता था _ (tomcat7-maven -प्लगिन) _ स्थानीय विकास में उपयोग के लिए उपलब्ध है, लेकिन सीआई बिल्ड _ (टीमसिटी, एक आर्टिफैक्टरी रेपो से केवल अनुमोदित कलाकृतियों का उपयोग करके) में संदर्भित नहीं है _ _। मैंने 'idhi localhost-server' के साथ 'प्रोफ़ाइल' तत्व जोड़ा है जैसा कि @ tenshi द्वारा सुझाया गया है, लेकिन 'सक्रियण' तत्व को बाहर रखा गया है। मैंने फिर अपने 'settings.xml' में एक 'सक्रिय प्रोफाइल' तत्व जोड़ा ताकि यह केवल मेरे स्थानीय वातावरण में सक्रिय हो। –

+0

कृपया विस्तृत पोस्ट के साथ मेरी पोस्ट देखें। http://stackoverflow.com/questions/7513319/maven-command-line-arguments/33807842#33807842 – Abhishek2k6

उत्तर

38

आप इस तरह विशेष सक्रियण शर्तों के साथ प्रोफ़ाइल का उपयोग कर सकते हैं:

<project> 
    ... 
    <profiles> 
    <profile> 
     <id>my-test-plugins</id> 

     <activation> 
     <property><name>!maven.test.skip</name></property> 
     <property><name>!skipTests</name></property> 
     </activation> 
     <build> 
     <plugins> 

     <!-- define your plugins here --> 

     </plugins> 
     </build> 
    </profile> 
    </profiles> 
</project> 

अधिक जानकारी आप यहाँ पा सकते हैं:

http://books.sonatype.com/mvnref-book/reference/profiles-sect-activation.html

+0

मेवेन पुस्तक के लिंक के लिए धन्यवाद। यहां पूछा गया/उत्तर दिया गया उससे परे सीखने के लिए वास्तव में सहायक। –

+3

मैं प्रोफाइल का उपयोग किये बिना आईएफ शर्तों का उपयोग कैसे करूं, क्योंकि वे मेरे लिए उपयुक्त नहीं हैं? असल में, मैंने पूरी परियोजना के लिए प्रोफाइल सेट किए हैं। एक सबमिशन के लिए मुझे वर्तमान प्रोफ़ाइल के आधार पर पहलू-जे प्लगइन के लिए कॉन्फ़िगरेशन चुनना होगा। मैं प्रस्तावित मॉडल के साथ ऐसा कैसे कर सकता हूं, सुनिश्चित नहीं है ... – Zorkus

+1

क्या यह वास्तव में काम करता है? ऐसा लगता है कि आप के भीतर केवल एक तत्व प्राप्त कर सकते हैं। – Marplesoft

-2

पिछले उदाहरण केवल काम किया जब मैं भी सेट मूल्य:

<property> 
    <name>wsdl2java</name> 
    <value>true</value> 
</property> 
+1

यह ** ** मूल प्रश्न का उत्तर नहीं है। किसी लेखक से स्पष्टीकरण की आलोचना करने या अनुरोध करने के लिए, अपनी पोस्ट के नीचे एक टिप्पणी छोड़ दें - आप हमेशा अपनी पोस्ट पर टिप्पणी कर सकते हैं, और एक बार आपके पास पर्याप्त [प्रतिष्ठा] (http://stackoverflow.com/help/whats-reputation) हो [किसी भी पोस्ट पर टिप्पणी करने में सक्षम] [http://stackoverflow.com/help/privileges/comment)। – DavidPostill

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