Maven過濾屬性文件,替換屬性值



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技術相關文章,微信掃一掃關注作者公眾號


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM