2011-01-28 10 views
6

मैं बहुत ही सरल Maven वर्णनकर्ता जो कुछ गुण परिभाषित किया गया है:Maven संपत्ति ओवरलोडिंग

<?xml version="1.0"?> 
<project 
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 
    http://maven.apache.org/xsd/maven-4.0.0.xsd" 
    xmlns="http://maven.apache.org/POM/4.0.0" 
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"> 

    <properties> 
    <it.port>8080</it.port> 
    </properties> 

</project> 

मैं कमांड के साथ it.port संपत्ति ओवरराइड कर सकते हैं:

$ mvn -Dit.port=8181 verify 

लेकिन निम्न आदेश अपेक्षा के अनुरूप काम नहीं करता है:

$ MAVEN_OPTS="-Dit.port=8181" mvn verify 

यह पास सिस्टम जेवीएम में परिवर्तनीय है लेकिन मैवेन ने ओवरराइड करने से इंकार कर दिया परीक्षण (8080) के लिए दी गई संपत्ति और डिफ़ॉल्ट मान। मूल समस्या यह है कि टीमसिटी (सीआई सर्वर) MAVEN_OPTS में जेवीएम में सिस्टम वैरिएबल पास करती है, इसलिए संपत्ति ओवरराइडिंग काम नहीं करती है।

क्या मैं MAVEN_OPTS पर्यावरण चर के साथ मेवेन गुणों को ओवरराइड कर सकता हूं?

उत्तर

11

नहीं, आप नहीं कर सकते। आप कर सकते हैं: अपने स्थानीय मशीन पर

  • settings.xml उपयोग संपत्ति
  • निर्दिष्ट करने के लिए कमांड लाइन पर सीधे परियोजना पोम
  • उपयोग डी में एक प्रोफ़ाइल का प्रयोग करें।
संबंधित मुद्दे