如何使用Gradle實現(xiàn)類似Maven的profiles功能
版本說明
- GraalVM JDK 21.0.3
- Gradle 8.7
- Spring Boot 3.2.5
目錄結構

指定環(huán)境打包
application.yml/yaml/properties
執(zhí)行 bootJar 打包命令前要先執(zhí)行 clean【其它和 processResources 相關的命令也要先執(zhí)行 clean】,否則 active 值不會變!
spring:
profiles:
# 執(zhí)行 bootJar 打包命令前要先執(zhí)行 clean【其它和 processResources 相關的命令也要先執(zhí)行 clean】,否則 active 值不會變!
active: @activeProfiles@build.gradle 修改 processResources 任務
def activeProfiles = project.properties['activeProfiles'] ?: "dev"
processResources {
exclude {
FileTreeElement details ->
{
(//排除不是當前環(huán)境的 yml 配置文件
details.file.name.startsWith("application-")
&& details.file.name.endsWith(".yml")
&& !details.file.name.equals("application.yml")
&& !details.file.name.equals("application-" + activeProfiles + ".yml")
) || (//排除不是當前環(huán)境的 yaml 配置文件
details.file.name.startsWith("application-")
&& details.file.name.endsWith(".yaml")
&& !details.file.name.equals("application.yaml")
&& !details.file.name.equals("application-" + activeProfiles + ".yaml")
) || (//排除不是當前環(huán)境的 properties 配置文件
details.file.name.startsWith("application-")
&& details.file.name.endsWith(".properties")
&& !details.file.name.equals("application.properties")
&& !details.file.name.equals("application-" + activeProfiles + ".properties")
)
}
}
filter ReplaceTokens, tokens: [
activeProfiles: activeProfiles
]
}打包
因為沒有指定環(huán)境,默認dev

可以先在build/resources/main目錄下查看是否只包含對應環(huán)境的文件


jar包里的文件和變量也對的上

指定test環(huán)境打包

bootJar追加application.yml配置的spring.profiles.active的@activeProfiles@變量名并指定環(huán)境為test后點ok保存

先clean再bootJar,否則不會生效?。?!

打包輸出到控制臺的命令可以查看配置有沒有生效

查看文件是否符合預期

到此這篇關于Gradle實現(xiàn)類似Maven的profiles功能的文章就介紹到這了,更多相關Gradle profiles功能內容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!
相關文章
Mybatis plus Dynamic Datasource 動態(tài)數(shù)據(jù)源及使用
dynamic-datasource-spring-boot-starter是一個基于springboot的快速集成多數(shù)據(jù)源的啟動器,它跟mybatis-plus是一個生態(tài)圈里的,很容易集成mybatis-plus,本文介紹Mybatis plus Dynamic Datasource 動態(tài)數(shù)據(jù)源的相關知識,感興趣的朋友一起看看吧2025-09-09
idea2020安裝MybatisCodeHelper插件的圖文教程
這篇文章主要介紹了idea2020安裝MybatisCodeHelper插件的方法,本文通過圖文并茂的形式給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下2020-09-09
SpringBoot制作Docker鏡像接入SkyWalking的詳細過程
本文通過實際操作完成了如何基于springboot項目接入skyalking的詳細過程,并進一步將springboot項目制作容器對接skyalking的詳細操作,感興趣的朋友一起看看吧2025-05-05
Hibernate Validation自定義注解校驗的實現(xiàn)
這篇文章主要介紹了Hibernate Validation自定義注解校驗的實現(xiàn),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧2019-04-04
springboot整合redis進行數(shù)據(jù)操作(推薦)
springboot整合redis比較簡單,并且使用redistemplate可以讓我們更加方便的對數(shù)據(jù)進行操作。下面通過本文給大家分享springboot整合redis進行數(shù)據(jù)操作的相關知識,感興趣的朋友一起看看吧2017-10-10

