首頁  >  文章  >  Java  >  Spring Boot結合IDEA自備Maven插件怎麼快速切換profile

Spring Boot結合IDEA自備Maven插件怎麼快速切換profile

王林
王林轉載
2023-05-14 08:37:051582瀏覽

一、前言

IDEA是目前Java 開發者中使用最多的開發工具,它有著簡約的設計風格,強大的整合工具,便利的快捷鍵。

在專案專案整個開發維運週期中,我們的專案往往需要根據不同的環境,使用不同的文件配置。

例如以下部分:

  • 預設:application.properties/yml

  • 共用設定: application-common.properties/yml

  • #開發環境:application-dev.properties/yml

  • 生產環境:application-prod.properties/yml

  • #測試環境:application-test.properties/yml

#在實際使用中透過在application.yml檔案中設定:

spring:
  profiles:
    active: dev

application.properties檔案中設定:

spring.profiles.active=dev

置後Spring Boot會啟動application-${active}.properties/yml的設定檔。

如此一來每次我們需要切換環境時只需要修改此配置。但此方式也明細的不足,例如:每次切換環境時都需要修改此配置,在修改後也存在文件誤傳#Git的風險,單體項目來說尚可接受,但對於Spring Cloud微服務項目而言操作就很麻煩了。

二、設定詳情

結合IDEA自帶的maven外掛程式來實現不同配置的切換,每次切換環境只要勾選就行了。

Spring Boot結合IDEA自備Maven插件怎麼快速切換profile

2.1 pom.xml修改

新增以下內容:

<build>
    <resources>
	    <resource>
	    	<directory>src/main/resources</directory>
            <!-- 指定目录下的文件通过maven过滤器 -->
	    	<filtering>true</filtering>
	    </resource>
    </resources>
</build>

<profiles>
    <profile>
        <id>dev</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>dev</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
        <activation>
            <!-- 默认环境 -->
            <activeByDefault>true</activeByDefault>
        </activation>
    </profile>
    <profile>
        <id>test</id>
        <properties>
            <!-- 环境标识,需要与配置文件的名称相对应 -->
            <profile.active>test</profile.active>
            <nacos.username>nacos</nacos.username>
            <nacos.password>nacos</nacos.password>
        </properties>
    </profile>
</profiles>

Maven過濾器會取代文件中的佔位符@變數名@,可以查看編譯後的文件,原本的佔位符被變數值取代。

2.2 bootstrap.yml/application.yml修改

spring:
  profiles:
    active: @profile.active@

註:佔位符‘@maven中配置的變數名稱@’,我的名稱為profile.active

#

以上是Spring Boot結合IDEA自備Maven插件怎麼快速切換profile的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:yisu.com。如有侵權,請聯絡admin@php.cn刪除