在項(xiàng)目管理中,對于一個項(xiàng)目或者產(chǎn)品束亏,我們經(jīng)常會有開發(fā),測試阵具,預(yù)發(fā)布碍遍,生產(chǎn)等多套環(huán)境。為避免每次打包發(fā)布有過多的人為干擾因素阳液,我們可以利用maven的profile來管理配置項(xiàng)怕敬。命令:mvn install -P dev
首選需要修改maven build的配置,添加resources的filter用于替換占位符
<build>
<outputDirectory>${project.basedir}/src/main/webapp/WEB-INF/classes/</outputDirectory>
<resources>
<resource>
<directory>src/main/resources</directory> //定義需要替換配置的文件路徑
<filtering>true</filtering>
</resource>
</resources>
<plugins></plugins>
</build>
方法一:將配置項(xiàng)寫在mvn中
<profiles>
<profile>
<id>Local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<!-- 打包配置選擇 -->
<!-- 公共配置 需要考慮是否單獨(dú)配置成私有 -->
<mvn.common.username>local</mvn.common.username>
</properties>
</profile>
<profile>
<id>Testing</id>
<properties>
<!-- 打包配置選擇 -->
<!-- 公共配置 需要考慮是否單獨(dú)配置成私有 -->
<mvn.common.username>testing</mvn.common.username>
</properties>
</profile>
<profile>
<id>Pro</id>
<properties>
<!-- 打包配置選擇 -->
<!-- 公共配置 需要考慮是否單獨(dú)配置成私有 -->
<mvn.common.username>pro</mvn.common.username>
</properties>
</profile>
</profiles>
方法二:將配置項(xiàng)單獨(dú)寫在配置文件中
<profiles>
<profile>
<id>Local</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<build>
<filters>
<filter>../Test.properties</filter>
</filters>
</build>
</profile>
<profile>
<id>Testing</id>
<build>
<filters>
<filter>../Production.properties</filter>
</filters>
</build>
</profile>
</profiles>
注:
1.profiles定義了各個環(huán)境的變量id,activeByDefault定義默認(rèn)打包的環(huán)境
2.resources中是定義哪些目錄下的文件會被配置文件中定義的變量替換帘皿,一般我們會把項(xiàng)目的配置文件放在src/main/resources下东跪,里面用到的變量在打包時就會根據(jù)filter中的變量配置替換成固定值