हमारे पास एक बहु-मॉड्यूल मेवेन प्रोजेक्ट है, और इसमें जेबॉस 4 और जेबॉस 7 जैसे चलने के लिए अलग-अलग प्लेटफॉर्म हैं। हम platform
प्रॉपर्टी निर्दिष्ट करते हैं, और फिर इसे एक के रूप में उपयोग करते हैं कलाकृतियों के लिए वर्गीकारक, और उप मॉड्यूल में मंच-विशिष्ट प्रोफ़ाइल के सक्रियण, जैसे के लिए:मैवेन: सब-मॉड्यूल में प्रोफाइल सक्रिय करने के लिए प्रॉपर्टी
<activation>
<property>
<name>platform</name>
<value>jboss71x</value>
</property>
</activation>
इन प्रोफाइल में
, हम अन्य बातों के अलावा, प्रदान की निर्भरता के संस्करण निर्दिष्ट करें। ईजी।
<dependencyManagement>
<dependencies>
<dependency>
<groupId>org.jboss.as</groupId>
<artifactId>jboss-as-parent</artifactId>
<version>${dependencies.jbossas7.version}</version>
<type>pom</type>
<scope>import</scope>
</dependency>
तो जब हम एक कमांड लाइन तर्क (-Dplatform=jboss71x
) के रूप में संपत्ति निर्दिष्ट करते हैं, यह ठीक काम करता है: हम jboss माता पिता पोम के आयात करते हैं।
[ERROR] 'dependencies.dependency.version' for commons-lang:commons-lang:jar is missing. @ line 46, column 21
[ERROR] 'dependencies.dependency.version' for commons-beanutils:commons-beanutils:jar is missing. @ line 56, column 21
[ERROR] 'dependencies.dependency.version' for commons-collections:commons-collections:jar is missing. @ line 61, column 21
Maven संस्करण:
लेकिन जब संपत्ति जड़ pom.xml में <properties>
खंड में सेट किया गया है (मैं भी माता पिता पोम में यह स्थापित करने का प्रयास), माता पिता पोम से संस्करणों याद कर रहे हैं की तरह लग रहा नवीनतम है: 3.2.1।
ऐसा क्यों होता है, और हम कैसे pom.xml में इस संपत्ति के मूल्य निर्दिष्ट कर सकते हैं, कमांड लाइन में नहीं?