2011-06-17 5 views
7

पर कस्टम वातावरण चर पास करना मैं एक कार्गो कंटेनर में पर्यावरण चर को पारित करने का एक तरीका ढूंढ रहा हूं। कुछ इस तरह:मैवेन कार्गो

<plugin> 
    <groupId>org.codehaus.cargo> 
    <artifactId>cargo-maven2-plugin</artifactId> 
    <configuration> 
    <environmentVariables> 
     <myCustomVariable>value</myCustomVariable> 
     ... 

उत्तर

4

AFAIK, कार्गो केवल Passing system properties और Maven Tips निम्न उदाहरण के रूप में उल्लेख के रूप में सिस्टम गुण पारित करने के लिए अनुमति देते हैं: -

<container> 
    [...] 
    <systemProperties> 
    <myproperty>myvalue</myproperty> 
    </systemProperties> 
</container> 

वैकल्पिक हल है कि सिस्टम लिंक हो सकता है निम्नलिखित चर के रूप में पर्यावरण चर के गुण: -

<container> 
    [...] 
    <systemProperties> 
    <myproperty>${env.MY_ENV_VAR}</myproperty> 
    </systemProperties> 
</container> 

आम तौर पर हम ओएस तरीके का उपयोग करके केवल पर्यावरण चर सेट करने में सक्षम हैं। किसी भी तरह जावा का उपयोग करके इसे How do I set environment variables from Java? पर उल्लेख के रूप में सेट करने के लिए एक वर्कअराउंड भी है।

मैं हमेशा @BeforeClass के साथ जुनीट टेस्ट सूट में डालकर यूनिट परीक्षण के दौरान पर्यावरण चर सेट करने के लिए इस टिप का उपयोग करता हूं और उन्हें @AfterClass के साथ खाली स्ट्रिंग के रूप में सेट करता हूं।

कृपया ध्यान दें कि औपचारिक जावा ट्यूटोरियल में Environment Variables और Passing Environment Variables to New Processes का भी उल्लेख है।

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

+0

मैंने कोशिश की लेकिन यह ग्लासफ़िश 4 के साथ काम नहीं किया। मुझे हमेशा संपत्ति को शून्य के रूप में मिलता है। जावा कोड में संपत्ति को पुनर्प्राप्त करने के लिए मैं उपयोग करता हूं: System.getenv ("myproperty")। मैंने System.getProperty ("myproperty") भी कोशिश की लेकिन यह भी काम नहीं किया। – vanval