maven打包时动态替换properties资源⽂件中的配置值pom build节点下⾯添加resource配置:
[html]
1. <resources>
2. <resource>
3. <directory>src/main/resources/</directory>
4. <filtering>true</filtering>
5. <includes>
6. <include>**/*.properties</include>
7. </includes>
8. </resource>
9. <resource>
10. <directory>src/main/resources/</directory>
11. <filtering>false</filtering>
12. <includes>
13. <include>**/*.xml</include>
14. </includes>
15. </resource>
el表达式获取值16. </resources>
[html]
1.
resource的filtering属性⽤来表⽰资源⽂件中的占位符是否需要被替换,true为需要替换。
上⾯的定义是所有的.properties⽂件中的EL表达式占位符都会在打包时动态替换,所有的.xml⽂件则不会替换占位符。
接下来我们配置两个profile,⼀个是环境,⼀个是正式环境配置:
[html]
1. <profiles>
2. <profile>
3. <id>dev</id>
4. <properties>
5. <jest.urls>n2:9200,n4:9200</jest.urls>
6. </properties>
7. <activation>
8. <activeByDefault>true</activeByDefault>
9. </activation>
10. </profile>
11.
12. <profile>
13. <id>production</id>
14. <properties>
15. <jest.urls>192.168.3.241:9200,192.168.3.242:9200</jest.urls>
16. </properties>
17. </profile>
18. </profiles>
我们再在src/main/resources⽬录下⾯创建⼀个config.properties⽂件,内容如下:
jest.urls=${jest.urls}
然后我们执⾏maven打包命令:clean package -DskipTests -Pdev
查看对应的jar包⾥⾯的config.properties⽂件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论