IDEA POM文件配置profile實現不同環(huán)境切換的方法步驟
一、背景
在企業(yè)級開發(fā)中,為了不影響生產環(huán)境的項目運行,一般情況下都會劃分生產環(huán)境、測試環(huán)境、開發(fā)環(huán)境。不同環(huán)境可以配置不同的數據庫、redis連接,這樣在開發(fā)新功能的時候就不會影響線上環(huán)境。
二、實現
2.1創(chuàng)建不同的配置文件
application.yml
spring:
profiles:
active: '@profiles.active@'application-dev.yml
# 應用服務 WEB 訪問端口
server:
port: 8081
#數據庫連接
spring:
datasource:
#配置自己的賬戶密碼
username: xxx
password: xxx
url: jdbc:mysql://127.0.0.1:3306/my_app
driver-class-name: com.mysql.cj.jdbc.Driverapplication-test.yml
# 應用服務 WEB 訪問端口
server:
port: 8081
#數據庫連接
spring:
datasource:
#配置自己的賬戶密碼
username: xxx
password: xxx
url: jdbc:mysql://127.0.0.1:3306/my_app
driver-class-name: com.mysql.cj.jdbc.Driverapplication-prod.yml
# 應用服務 WEB 訪問端口
server:
port: 8081
#數據庫連接
spring:
datasource:
#配置自己的賬戶密碼
username: xxx
password: xxx
url: jdbc:mysql://127.0.0.1:3306/my_app
driver-class-name: com.mysql.cj.jdbc.Driverdev,test,prod可以分別配置不同的地址,以實現連接不同的數據庫。
2.2配置POM文件
<project>
<build>
<resources>
<resource>
<directory>src/main/resources</directory>
<!--①移除全部配置文件-->
<excludes>
<exclude>application*.yml</exclude>
</excludes>
</resource>
<resource>
<directory>src/main/resources</directory>
<!--②將所需的配置文件移入-->
<filtering>true</filtering>
<includes>
<include>application.yml</include>
<include>application-${profiles.active}.yml</include>
</includes>
</resource>
</resources>
</build>
<!-- 環(huán)境 -->
<profiles>
<profile>
<!--不同環(huán)境Profile的唯一id-->
<id>dev</id>
<properties>
<!--profiles.active是自定義的字段(名字隨便起),自定義字段可以有多個-->
<profiles.active>dev</profiles.active>
</properties>
<activation>
<activeByDefault>true</activeByDefault>
</activation>
</profile>
<profile>
<id>prod</id>
<properties>
<profiles.active>prod</profiles.active>
</properties>
</profile>
<profile>
<id>test</id>
<properties>
<profiles.active>test</profiles.active>
</properties>
</profile>
</profiles>
</project>
配置文件里面有一小塊移除配置文件的代碼

如果將該代碼注掉,那么在打包項目的時候就會把全部配置文件都打包進去,這樣拿到jar包之后就可以在啟動項目的時候通過傳入不同的參數來使用不同的配置文件啟動項目,有點不安全。
如果不注掉的話,就會把全部配置文件都移除,在下方把指定的要打包的配置文件引入,這樣獲得的jar包就只能啟動打包時候指定的配置文件,嘗試使用其他配置文件會獲取不到而報錯。(建議)
三、效果
3.1本地使用
先在項目右上角的Profiles選中想要啟動的環(huán)境,然后啟動項目,端口和設置的配置文件匹配。

換個配置文件試試,端口和配置的文件也匹配,也是沒問題。
PS:一般情況下,切換環(huán)境最好點一下下方的clean,先清一下緩存配置??赡苁乾F在配置少,現在本地不clean也沒問題,但在企業(yè)開發(fā)中如果不clean一下,啟動項目大概率是會報錯的。

2.2線上或者測試環(huán)境使用
線上或者測試環(huán)境一般都用jekins來自動化打包運行項目,也就是通過腳本去自動運行項目。
我們可以在項目目錄,通過命令行去打包項目mvn package -P 環(huán)境
mvn package -P prod

打包完成之后會在項目目錄下面生產一個target文件夾,里面有一個jar文件,這個文件就是打包的項目文件。(如果項目設置的打包是war的話,也可能是war文件。)

我們去到jar文件所在目錄,通過命令行運行jar文件


啟動了8082端口,也正是prod文件配置的端口,驗證完畢。
因為我前面是開啟了配置文件過濾的,驗證一下用其他配置文件啟動該jar包。(找不到配置文件而報錯,安全性得到了保障)


到此這篇關于IDEA POM文件配置profile實現不同環(huán)境切換的方法步驟的文章就介紹到這了,更多相關IDEA POM文件配置profile實現不同環(huán)境切換的方法步驟內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

