0
我正在使用Maven配置文件來區分特定於環境的配置的項目。我正在運行版本3.0.5。我們的目標是能夠通過從對應於一個激活屬性,像這樣的殼傳遞系統屬性來初始運行命令指定環境:使用系統屬性激活Maven配置文件
的pom.xml
<profiles>
...
<profile><!-- Local Dev Environment -->
<id>local</id>
<activation>
<property>
<name>environment</name>
<value>local</value>
</property>
</activation>
<properties>
...
</properties>
</profile><!-- End Local Dev Environment -->
...
</profiles>
啓動命令
mvn exec:java -Denvironment=local
然而,配置文件沒有被激活(使用確認,它不產生輸出)。我對Maven很不喜歡,但不應該這樣工作嗎?
這是我的理解是與-D
選項運行mvn
允許我設置系統屬性(在這種情況下:environment
應該等於local
)運行應用程序時確定其隨後與Maven的POM的交叉引用這(符合要求的activation properties
),然後運行該應用程序並激活這些配置文件。有沒有什麼我不在這裏?
我應該在我試圖直接激活資料中使用'-P'原來的問題已經提到過,並且也不成功,這使我覺得有兩種東西與我的POM或怪異的東西與我Maven安裝。 –
我編輯了我的答案,包括一個適用於我的示例POM,但是我沒有使用'exec'插件嘗試過。 – Matt