pom.xml
1、resources:
resources中是定義哪些目錄下的文件會被配置文件中定義的變量替換,一般我們會把項目的配置文件放在src/main/resources下,像db,bean等,里面用到的變量在打包時就會根據filter中的變量配置替換成固定值
圖片1
filtering=true表示src/main/resources下面的所有properties文件中的占位符都會被替換為profile中對應屬性的值
圖片2
filtering=false表示src/main/resources下面所有的xml文件中的占位符都不會被替換為profile中對應屬性的值
圖片3
filtering=true表示src/main/resources/META-INF/spring下面的spring-comm-conf.xml文件中的占位符都會被替換為profile中定義的屬性值,並把該文件移到targetPath配置的路徑下
2、profiles:
id節點為唯一的,項目打包時,需要指定
<activation>
<activeByDefault>true</activeByDefault>
</activation>
改節點設置某個profile為默認選中的
使用maven打包命令
mvn clean -Dmaven.test.skip=true package -P dev
其中 -P dev,dev就是profile中指定的id,maven profile可使用操作系統信息,jdk信息,文件是否存在,屬性值等作為依據,來激活相應的profile,也可在編譯階段,通過mvn命令加參數 -PprofileId 來手工激活使用對應的profile
結合filter和profile,我們就可以方便的在不同環境下使用不同的配制
3、打包
在執行打包命令時,maven會到src/main/resources下尋找*.properties類型的文件,將pom定義的key替換到properties文件對應的${value}。
想要提升自己,工作中遇到的問題,更多JAVA技術相關文章,微信掃一掃關注作者公眾號