這是我使用Maven的構建配置文件的第一天。我有以下文件模式:Maven設置和POM中的相同配置文件名稱
- 的pom.xml
- Maven的設置(%USER_HOME%/平米/ settings.xml中)
出於好奇我在這兩個文件中創建一個配置文件使用相同的id(local_deploy),唯一的區別在於一個屬性(例如tomcat.pwd)。
檔案在POM看起來象下面這樣:
<profile>
<id>local_deploy</id>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
<properties>
<tomcat.host>localhost</tomcat.host>
<tomcat.port>8080</tomcat.port>
<tomcat.url>http://${tomcat.host}:${tomcat.port}/manager/text</tomcat.url>
<tomcat.user>admin</tomcat.user>
<tomcat.pwd>admin</tomcat.pwd>
</properties>
</profile>
檔案Maven中設置看起來像如下:
<profile>
<id>local_deploy</id>
<properties>
<tomcat.host>localhost</tomcat.host>
<tomcat.port>8080</tomcat.port>
<tomcat.url>http://${tomcat.host}:${tomcat.port}/manager/text</tomcat.url>
<tomcat.user>admin</tomcat.user>
<tomcat.pwd>wrongpwd</tomcat.pwd>
</properties>
</profile>
請注意,在Maven中設置的個人資料不是<activeProfiles>
上市。
當我嘗試使用安裝我的應用程序下面的命令
mvn clean install -P local_deploy help:active-profiles
我的應用程序被部署以下輸出在控制檯上:
The following profiles are active:
local_deploy (source: external)
local_deploy (source: <my groupId>:<my artifactId><version>)
我經歷this文檔和它說,
Take note that profiles in the settings.xml takes higher priority than profiles in the POM
所以,我假設我的部署應該由於Maven設置中的密碼不正確而失敗。我在這裏錯過了什麼?
您使用的是哪個版本的maven 3? –
apache-maven-3.3.9 –
我在maven 3.1.1和3.3.9上試過,實際上設置配置文件總是覆蓋樣本pom中具有相同名稱的配置文件的屬性。所以文件是正確的,你有沒有進一步瞭解你所報告的行爲? –