一般情況下我們可以通過maven中的<finalName>標簽指定最終生成jar/war包的名字。如下圖
但是,這樣有一個缺點,就是無論選擇哪個環境進行打包,最后生成的jar/war包名字都是一樣的,都是nmr-web.jar。
現在的需求是當我選擇dev環境進行打包生成的jar包名字是nmr-web-dev.jar,當我選擇sit環境進行打包時生成的jar包名字是nmr-web-sit.jar。這該如何實現呢?
很簡單,我們先在每個profile中的properties下自定義一個<fname>便簽,標簽內容與最好與所在環境名稱保持一個,這樣見名只義。然后在將<finalName>標簽的內容改為nmr-web-${fname}。
具體操作如下圖:
下面進行測試:
一,
mvn clean package -Psit -Dmaven.test.skip=true
選擇sit環境進行打包,查看生成jar包的名稱
二,
mvn clean package -Pdev -Dmaven.test.skip=true
選擇dev環境進行打包,查看生成的jar包名稱
如上所示,我們已經做到maven打包時根據對應的環境生成對應jar包名稱的需求