请问如何将 `application.yml` 中 include 进来的 profile 在 `application-local.yml` 下删去?

345 天前
 BraveXaiver
比如说关于 API Auth 有很多配置,且对于开发环境,内部测试环境和预生产环境,生产环境均相同,所以它们都集中在 `application-auth.yml` 中,并通过 `application.yml` 中写 `spring.profiles.include: auth` 来统一引入。

但在本地运行这个 APP 的时候,这些 API Auth 的功能和配置完全不需要反而还有害,此时我想在 `application-local.yml` 中移除 auth 这个 profile 。

请问能做到吗?谢谢。
834 次点击
所在节点    问与答
8 条回复
wolfie
345 天前
改用 spring.profiles.active ,本地启动参数覆盖手动排除特定配置。
BraveXaiver
345 天前
@wolfie 我用 IDEA 启动的时候指定了使用 local 这个 profile ,但 auth 还是生效了。感觉最终生效的 profile 是 active+include
wolfie
345 天前
@BraveXaiver
去掉 include ,改用 active
oneisall8955
345 天前
启动可以配置-Dspring.profiles.include=xxx 参数覆盖配置
BraveXaiver
345 天前
@wolfie 你的意思是直接在 application.yml 中改为使用 spring.profiles.active: auth? emm ,但这里必须用 include ,不然又会有其他问题。
BraveXaiver
345 天前
@oneisall8955 好的,我试试,我这里是想移除的话,那就什么都不写放等号右边?
BraveXaiver
345 天前
@oneisall8955 不行,我加了 -Dspring.profiles.include=local, auth 还是被弄进来了

2023-12-21 23:53:37.476 INFO 2740 --- [ restartedMain] c.e.s.SpringBootDemoApplication : The following 2 profiles are active: "local", "auth"
ChoateYao
345 天前
不知道你的版本是多少,我在 Springboot 2.7 上能使用 group 的功能,不同的环境可以定义使用不同配置文件

```yml
spring:
profiles:
active: local
group:
local:
- datasource
dev:
- dev-datasouce
```

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/1002404

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX