मैं निम्नलिखित pom.xml है:प्रोफ़ाइल गुण के साथ Maven संसाधन छनन
<project
xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>mycompany</groupId>
<artifactId>resource-fail</artifactId>
<version>0.0.1-SNAPSHOT</version>
<properties>
<foo.bar>BazBat</foo.bar>
</properties>
<build>
<resources>
<resource>
<filtering>true</filtering>
<directory>src/main/resources</directory>
</resource>
</resources>
</build>
<profiles>
<profile>
<id>Development</id>
<!--
<activation>
<activeByDefault>true</activeByDefault>
</activation>
-->
<properties>
<foo.bar>Development</foo.bar>
</properties>
</profile>
</profiles>
</project>
सूचना है कि profile
पर activation
तत्व बाहर टिप्पणी की है
मैं भी src/main/java/application.properties
myproperty=${foo.bar}
में निम्नलिखित है
तो मैवेन को ऐसा करने की उम्मीद है कि ${foo.bar}
के साथ बस प्रतिस्थापित करें 210, जब तक विकास प्रोफ़ाइल activiated है, तो मैं Maven Development
साथ ${foo.bar}
को बदलने के लिए जब मैं mvn package
चलाने यह BazBat
के लिए मूल्य सेट की उम्मीद है। अच्छा, संसाधन फ़िल्टरिंग अपेक्षित के रूप में काम कर रहा है।
हालांकि जब मैं mvn package -P Development
चलाने यह BazBat
के लिए मूल्य सेट प्रोफ़ाइल पर आगे चीजों को भ्रमित करने के लिए, हटाएं यदि activation
तत्व और mvn package
चलाने ${foo.bar}
Development
को मैं भी चला चुके यह सेट हो जाएगा mvn help:active-profiles package
इसे सक्रिय प्रोफ़ाइल नाम आउटपुट करने के लिए और ऊपर दोनों स्थितियों के तहत यह कहता है कि विकास प्रोफ़ाइल सक्रिय है, लेकिन फ़िल्टरिंग अभी भी activeByDefault
ध्वज सेट किए बिना काम नहीं करती है।
सारांश में:
- Maven ठीक से प्रोफ़ाइल से मूल्यों के साथ गुण को ओवरराइड करता है, तो प्रोफ़ाइल
activeByDefault
- Maven करता नहीं ओवरराइड गुण है अगर मैं कमांड लाइन स्विच के माध्यम से प्रोफाइल सक्रिय
क्या चल रहा है?
मेरे पर्यावरण:
> mvn -version
Apache Maven 3.2.5 (12a6b3acb947671f09b81f49094c53f426d8cea1; 2014-12-14T11:29:23-06:00)
Maven home: C:\apache-maven-3.2.5
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_65\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"
अद्यतन: मैं नवीनतम Maven (3.3.3) में अपग्रेड किया है - समस्या बनी रहती है। मेरे नए माहौल:
> mvn -version
Apache Maven 3.3.3 (7994120775791599e205a5524ec3e0dfe41d4a06; 2015-04-22T06:57:37-05:00)
Maven home: C:\apache-maven-3.3.3
Java version: 1.8.0_65, vendor: Oracle Corporation
Java home: C:\Program Files\Java\jdk1.8.0_65\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 7", version: "6.1", arch: "amd64", family: "dos"