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小时内删除。