Maven在不同的環(huán)境獲取不同配置文件的方法
最近準(zhǔn)備把正在開發(fā)的項目給分為兩個環(huán)境來部署,使用jenkins進(jìn)行自動構(gòu)建。
把maven部署多環(huán)境相關(guān)的資料看了下,都比較難理解,于是自己摸索,找到一個比較好的辦法。
首先在 src/main/resource 下建兩個文件夾,具體幾個看你的環(huán)境有幾個,我這里是分了兩個,dev和product,開發(fā)環(huán)境和正式環(huán)境。
然后將配置文件分別放入兩個目錄中,然后把兩個環(huán)境中的配置配好
接下來編輯項目的pom文件
進(jìn)行如下配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
......
......
<profiles>
<!-- 開發(fā)環(huán)境 -->
<profile>
<id>dev</id>
<properties>
<env>dev</env>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<!-- 正式環(huán)境 -->
<profile>
<id>product</id>
<properties>
<env>product</env>
</properties>
<activation>
<activeByDefault>false</activeByDefault>
</activation>
</profile>
</profiles>
......
......
</project>中間的properties是用來作為變量能在下文中取到的
然后在build節(jié)點中進(jìn)行如下配置
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0
http://maven.apache.org/xsd/maven-4.0.0.xsd">
......
......
<build>
......
......
<resources>
<!-- 此處是因為我的java目錄中有一些xml文件,
如果你的項目中的java目錄下沒有xml文件則可以不用配 -->
<resource>
<directory>src/main/java</directory>
<includes>
<include>**/*.properties</include>
<include>**/*.xml</include>
</includes>
<!-- 是否替換資源中的屬性 -->
<filtering>false</filtering>
</resource>
<!-- 此處的用法就是${env}會替換成你的上面選擇的具體環(huán)境 -->
<resource>
<directory>src/main/resources/${env}</directory>
<!-- 是否替換資源中的屬性 -->
<filtering>true</filtering>
</resource>
</resources>
......
......
</build>
......
......
</project>最后使用maven命令進(jìn)行編譯打包
mvn clean package -Pproduct
-P為指定某個profile,后面跟上具體的profile就行了,比如上面就指定的是product的profile,如果不加,則默認(rèn)是dev的profile,可以倒回上面的配置看。
接下來就會根據(jù)你的命令進(jìn)行編譯打包啦~
到此這篇關(guān)于Maven在不同的環(huán)境獲取不同配置文件的方法的文章就介紹到這了,更多相關(guān)Maven在不同的環(huán)境獲取不同配置文件的方法內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Kotlin中?StateFlow?或?SharedFlow?的區(qū)別解析
Kotlin協(xié)程中的StateFlow和SharedFlow是響應(yīng)式數(shù)據(jù)流,分別用于UI狀態(tài)管理和事件通知,StateFlow有初始值,只保留最新值,適用于UI狀態(tài)管理;SharedFlow沒有初始值,可以配置緩存大小,適用于事件通知,感興趣的朋友一起看看吧2025-03-03
java?stream實現(xiàn)分組BigDecimal求和以及自定義分組求和
這篇文章主要給大家介紹了關(guān)于java?stream實現(xiàn)分組BigDecimal求和以及自定義分組求和的相關(guān)資料,Stream是Java8的一大亮點,是對容器對象功能的增強(qiáng),它專注于對容器對象進(jìn)行各種非常便利、高效的聚合操作或者大批量數(shù)據(jù)操作,需要的朋友可以參考下2023-12-12
Java Web應(yīng)用程序?qū)崿F(xiàn)基礎(chǔ)的文件下載功能的實例講解
這里我們演示了Servelet驅(qū)動Tomcat來進(jìn)行HTTP下載的方法,接下來就詳細(xì)來看Java Web應(yīng)用程序?qū)崿F(xiàn)基礎(chǔ)的文件下載功能的實例講解2016-05-05

