IntelJ IDEA 启动 springBoot ,而不使用 Gradle 启动

SpringBoot 有一种差异化方案是,将共同的配置放入 application.properties 中,将开发环境的放入 application-dev.properties 中,将生产的配置放入 

application-default.properties 中。

通过在 build.gradle 文件中指定 

def profiles = 'dev'

bootRun {
    args = ["--spring.profiles.active=" + profiles]
}

将变量 --spring.profiles.active 值 dev 传给 bootRun ,这样 springBoot 就知道要应用  application-dev.properties 配置和 application.properties 配置,当没有指定

profile 时,会应用 application-default.properties 和 application.properties 配置。

因此,在开发环境使用 gradle bootRun 时,由于build.gradle 文件中已经指定了 profile=dev,因此运行时可以找到 dev 配置。然而,在 IntelJ IDEA 中直接在 main 方法上右键 Debug 则找不到 dev  application-dev.properties 配置,如何让它可以正常启动呢?

有几种方法:

1.在 application.properties 中加入配置:spring.profiles.active=dev。可以 work ,但是没有实际价值,因为在该差异化方案下 application.properties 本身就用来装不变的配置,很明显再起 不再是了。

2.设置 IntelJ IDEA 的运行代理. settings -> Build, Execution Deployment -> Build Tools -> gradle -> Runner,设置项里面有 Delegate IDE build/run actions to gradle,勾选它便 是。

3.设置 IntelJ IDEA -> Run -> Debug... -> Edit Configurations -> Application -> Bootstrap -> Configuration -> Program arguments 填入:

--spring.profiles.active=dev


你可能感兴趣的:(Java)