如何通过Gradle在Spring Boot Dev Profile环境下运行自定义runFunction任务
如何在Spring Boot dev Profile环境下运行Gradle的runFunction任务?
我来帮你搞定这个问题!要让你的runFunction任务在Spring Boot的dev Profile环境下运行,有两种实用方式,你可以根据自己的需求选择:
方式一:命令行临时指定(无需修改任务代码)
这种方式适合临时切换环境的场景,不用改动任何Gradle配置,直接在执行任务时通过JVM参数指定Spring Profile即可。因为JavaExec类型的任务支持通过-D传递系统属性,所以运行命令如下:
Linux/macOS
./gradlew runFunction -Dspring.profiles.active=dev
Windows
gradlew runFunction -Dspring.profiles.active=dev
方式二:修改任务代码,默认启用dev Profile
如果你希望每次运行runFunction任务都默认使用dev环境,不用每次手动输入参数,可以直接修改你的runFunction任务配置,添加一行设置Spring Profile的系统属性:
tasks.register("runFunction", JavaExec) { main = 'com.google.cloud.functions.invoker.runner.Invoker' classpath(configurations.invoker) inputs.files(configurations.runtimeClasspath, sourceSets.main.output) // 添加这行,默认启用dev Profile systemProperty "spring.profiles.active", "dev" args( '--target', 'gfk.stream.client.cloud.functions.excel.business.FileGenerate', '--port', 8081, ) doFirst { args('--classpath', files(configurations.runtimeClasspath, sourceSets.main.output).asPath) } }
修改后,直接运行./gradlew runFunction(Windows用gradlew runFunction)就会自动加载dev环境的配置了。如果偶尔需要切换到其他环境,依然可以用命令行的-D参数覆盖默认值,比如:
./gradlew runFunction -Dspring.profiles.active=prod
内容的提问来源于stack exchange,提问作者Hola
相关产品推荐
相关产品推荐

