淺談Maven環(huán)境隔離應(yīng)用
前言
在大大小小的公司中,開發(fā)總是多環(huán)境的,可能是2個(dev、prod)或者是4個甚至更多(dev、prod、beta、local)。
我們需要針對的配置不同環(huán)境下的服務(wù)器地址或數(shù)據(jù)庫地址或?qū)傩詤?shù)等等,而Maven的環(huán)境隔離就幫我們解決了這實際性的問題,輕松解決完成環(huán)境隔離。
什么是Maven環(huán)境隔離
顧名思義,Maven環(huán)境隔離就是將開發(fā)中的環(huán)境分隔開,方便進行開發(fā)。這個在實際項目中用的還是蠻多的,如果你的項目用的Maven構(gòu)建但是沒用環(huán)境隔離,請立即將項目做一下環(huán)境隔離,相信我,你會回來關(guān)注我的!
項目環(huán)境
我們一般分為以下4種
- 本地開發(fā)環(huán)境(Local)
- 開發(fā)環(huán)境(Dev)
- 測試環(huán)境(Beta)
- 線上環(huán)境(Prod)
再次說明,Maven幫我們避免了人工修改的弊端,即容易犯錯,輕松分環(huán)境編譯,打包、部署等等
Maven環(huán)境隔離配置
1、pom.xml中build節(jié)點下增加
<resources>
<resource>
<directory>src/main/resources.${deploy.type}</directory>
<excludes>
<exclude>*.jsp</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
</resource>
</resources>
2、pom.xml中增加profiles節(jié)點
<profiles>
<profile>
<id>dev</id>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
<properties>
<deploy.type>dev</deploy.type>
</properties>
</profile>
<profile>
<id>beta</id>
<properties>
<deploy.type>beta</deploy.type>
</properties>
</profile>
<profile>
<id>prod</id>
<properties>
<deploy.type>prod</deploy.type>
</properties>
</profile>
</profiles>
3、根據(jù)profile中寫到,我們要新建對應(yīng)的資源文件夾

4、編譯打包時添加打包命令 -P${環(huán)境標識}
mvn clean package -Dmaven.test.skip=true -Pdev

之后就可以在target中看到對應(yīng)的環(huán)境配置,需要注意的是Maven Project下的Profiles的選擇是發(fā)布的時候的版本,即發(fā)布到Tomcat時的環(huán)境參數(shù)。

以上就是本文的全部內(nèi)容,希望對大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
Java 比較接口comparable與comparator區(qū)別解析
這篇文章主要介紹了Java 比較接口comparable與comparator區(qū)別解析,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友可以參考下2019-10-10
Spring聲明式事務(wù)(@Transactional)通過AOP實現(xiàn)過程
Spring的聲明式事務(wù)通過AOP代理技術(shù)實現(xiàn),掃描標記了@Transactional的類或方法,為目標對象創(chuàng)建代理,方法調(diào)用時根據(jù)配置開啟、提交或回滾事務(wù),從而簡化事務(wù)管理,提高代碼復(fù)用性和可維護性2026-05-05
spring Mvc配置xml使ResponseBody返回Json的方法示例
這篇文章主要給大家介紹了關(guān)于spring Mvc配置xml使ResponseBody返回Json的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。2018-04-04
使用Jenkins配置Git+Maven的自動化構(gòu)建的方法
這篇文章主要介紹了使用Jenkins配置Git+Maven的自動化構(gòu)建的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2019-01-01
Java線程安全解決方案(synchronized,ReentrantLock,Atomic)
這篇文章主要介紹了Java線程安全解決方案(synchronized,ReentrantLock,Atomic),文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼
ThreadLocal 為變量在每個線程中創(chuàng)建了一個副本,這樣每個線程都可以訪問自己內(nèi)部的副本變量,這篇文章主要介紹了springboot登錄攔截器+ThreadLocal實現(xiàn)用戶信息存儲的實例代碼,需要的朋友可以參考下2024-03-03

