您的位置:首页 > 运维架构

maven 打包时动态替换properties资源文件中的配置值

2015-11-16 12:42 525 查看
pom build节点下面添加resource配置:
<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>
resource的filtering属性用来表示资源文件中的占位符是否需要被替换,true为需要替换。上面的定义是所有的.properties文件中的EL表达式占位符都会在打包时动态替换,所有的.xml文件则不会替换占位符。接下来我们配置两个profile,一个是测试环境,一个是正式环境配置:
<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的值。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: