pom build節(jié)點(diǎn)下面添加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屬性用來(lái)表示資源文件中的占位符是否需要被替換,true為需要替換。
上面的定義是所有的.properties文件中的EL表達(dá)式占位符都會(huì)在打包時(shí)動(dòng)態(tài)替換,所有的.xml文件則不會(huì)替換占位符。
接下來(lái)我們配置兩個(gè)profile,一個(gè)是測(cè)試環(huán)境,一個(gè)是正式環(huán)境配置:
<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>
我們?cè)僭趕rc/main/resources目錄下面創(chuàng)建一個(gè)config.properties文件,內(nèi)容如下:
jest.urls=${jest.urls}
然后我們執(zhí)行maven打包命令:
clean package -DskipTests -Pdev
查看對(duì)應(yīng)的jar包里面的config.properties文件,可以發(fā)現(xiàn)占位符已經(jīng)被替換成了profile dev中配置的jest.urls的值。