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
外掛程式來實現不同配置的切換,每次切換環境只要勾選就行了。
新增以下內容:
<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
過濾器會取代文件中的佔位符@變數名@
,可以查看編譯後的文件,原本的佔位符被變數值取代。
spring: profiles: active: @profile.active@
#註:佔位符‘@maven中配置的變數名稱@’,我的名稱為
profile.active
以上是Spring Boot結合IDEA自備Maven插件怎麼快速切換profile的詳細內容。更多資訊請關注PHP中文網其他相關文章!