Maven插件-打包時(shí)多環(huán)境配置文件設(shè)置
引入公司SSO時(shí)伙狐,需要在web.xml文件中配置不同跳轉(zhuǎn)URL北秽,測(cè)試、生產(chǎn)環(huán)境配置內(nèi)容是不同的逾滥,如何通過Maven插件在不同的環(huán)境下使用不同的配置文件呢?
項(xiàng)目結(jié)構(gòu)
project:
wfconfig
dev
web.xml
qa
web.xml
prd
web.xml
src
main
java
resources
webapp
WEB-INF
Profile
定義一些列配置信息败匹,然后通過命令激活指定信息寨昙,一般在項(xiàng)目pom.xml文件中配置。
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault> <!-- 默認(rèn)環(huán)境 -->
</activation>
</profile>
<profile>
<id>qa</id>
<properties>
<env>qa</env>
</properties>
</profile>
<profile>
<id>prd</id>
<properties>
<env>prd</env>
</properties>
</profile>
# mvn打包命令:
mvn clean package -Pdev/qa/prd
僅僅介紹常用操作掀亩。
build中resource
<!-- java代碼路徑 -->
<sourceDirectory>src/main/java</sourceDirectory>
<!-- test代碼路徑 -->
<testSourceDirectory>src/test/java</testSourceDirectory>
<!-- 資源路徑可以配置多個(gè) -->
<resources>
<resource>
<directory>src/main/resources</directory>
</resource>
<resource>
<directory>wfconfig/${env}</directory>
</resource>
</resources>
<testResources>
......
</testResources>
通過配置resouces舔哪,我們就可以通過mvn clean package -Pqa指定不同環(huán)境下的配置文件,但是該方法僅僅可以把配置文件加載到webapp/classes文件夾下槽棍,無(wú)法替換webapp/WEB-INF/web.xml文件捉蚤。
maven-war-plugin插件
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<failOnMissingWebXml>false</failOnMissingWebXml>
<!-- 使用web.xml文件路徑 -->
<webXml>wfconfig/${env}/web.xml</webXml>
</configuration>
</plugin>
配置后在打包時(shí)即可按照-P參數(shù)從指定配置文件中拉去web.xml文件抬驴,maven-war-plugin更多操作參見。