Spring Boot 3.4.1中dev/prod环境配置失败,求正确方案
Spring Boot 3.4.1 多环境配置与正确启动方式
核心问题原因
你用./gradlew bootRun -Dspring.profiles.active=dev启动失败,是因为-D参数直接传给了Gradle进程,而非Spring Boot应用进程,导致Spring Boot无法读取到指定的profile。
正确启动方式
方式1:通过--args传递Spring Boot参数
直接将profile参数通过--args传递给Spring Boot应用,这是最直接的方式:
./gradlew bootRun --args='--spring.profiles.active=dev'
方式2:通过Gradle项目参数传递JVM参数
如果习惯用JVM参数的方式,可以在build.gradle(或build.gradle.kts)中添加配置,将Gradle的项目参数传递给Spring Boot的JVM参数:
// build.gradle 配置 bootRun { if (project.hasProperty('springProfilesActive')) { jvmArgs += "-Dspring.profiles.active=${springProfilesActive}" } }
然后用以下命令启动:
./gradlew bootRun -PspringProfilesActive=dev
配置文件检查
确保你的三个配置文件都放在src/main/resources目录下,这是Spring Boot默认加载配置文件的路径,位置错误会导致profile配置无法被读取。
验证配置是否生效
启动应用后,查看控制台日志,若出现类似以下内容,说明dev环境已成功激活:
The following 1 profile is active: "dev"
内容的提问来源于stack exchange,提问作者Socrates
相关产品推荐
相关产品推荐

