首页 > 代码库 > maven 打包时动态替换properties资源文件中的配置值
maven 打包时动态替换properties资源文件中的配置值
pom build节点下面添加resource配置:
[html] view plain copy
- <resources>
- <resource>
- <directory>src/main/resources/</directory>
- <filtering>true</filtering>
- <includes>
- <include>**/*.properties</include>
- </includes>
- </resource>
- <resource>
- <directory>src/main/resources/</directory>
- <filtering>false</filtering>
- <includes>
- <include>**/*.xml</include>
- </includes>
- </resource>
- </resources>
[html] view plain copy
resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。
上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。
接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:
[html] view plain copy
- <profiles>
- <profile>
- <id>dev</id>
- <properties>
- <jest.urls>http://n2:9200,http://n4:9200</jest.urls>
- </properties>
- <activation>
- <activeByDefault>true</activeByDefault>
- </activation>
- </profile>
- <profile>
- <id>production</id>
- <properties>
- <jest.urls>http://192.168.3.241:9200,http://192.168.3.242:9200</jest.urls>
- </properties>
- </profile>
- </profiles>
我们再在src/main/resources目录下面创建一个config.properties文件,内容如下:
jest.urls=${jest.urls}
然后我们执行maven打包命令:clean package -DskipTests -Pdev
查看对应的jar包里面的config.properties文件,可以发现占位符已经被替换成了profile dev中配置的jest.urls的值。
maven 打包时动态替换properties资源文件中的配置值
声明:以上内容来自用户投稿及互联网公开渠道收集整理发布,本网站不拥有所有权,未作人工编辑处理,也不承担相关法律责任,若内容有误或涉及侵权可进行投诉: 投诉/举报 工作人员会在5个工作日内联系你,一经查实,本站将立刻删除涉嫌侵权内容。