我试图设置gradle,在启用各种spring配置文件的情况下启动bootRun进程。
我当前的bootRun
配置如下所示:
bootRun {
// pass command line options from gradle to bootRun
// usage: gradlew bootRun "-Dspring.profiles.active=local,protractor"
if (System.properties.containsKey('spring.profiles.active')) {
systemProperty "spring.profiles.active", System.properties['spring.profiles.active']
}
}
我想用gradle任务设置系统属性,然后执行bootRun。
我的尝试是这样的:
task bootRunDev
bootRunDev {
System.setProperty("spring.profiles.active", "Dev")
}
几个问题:
-埃里克
最简单的方法是定义默认值并允许其被覆盖。我不确定systemProperty在这种情况下有什么用途。简单的参数就可以了。
def profiles = 'prod'
bootRun {
args = ["--spring.profiles.active=" + profiles]
}
要运行开发:
./gradlew bootRun -Pdev
要在任务上添加依赖项,您可以执行以下操作:
task setDevProperties(dependsOn: bootRun) << {
doFirst {
System.setProperty('spring.profiles.active', profiles)
}
}
在Gradle有很多方法可以实现这一点。
编辑:
为每个环境配置单独的配置文件。
if (project.hasProperty('prod')) {
apply from: 'gradle/profile_prod.gradle'
} else {
apply from: 'gradle/profile_dev.gradle'
}
每个配置都可以覆盖任务,例如:
def profiles = 'prod'
bootRun {
systemProperty "spring.profiles.active", activeProfile
}
在这种情况下,通过提供prod标志运行,如下所示:
./gradlew <task> -Pprod
环境变量可用于设置Spring属性,如留档中所述。因此,要设置活动配置文件(spring.profiles.active
),您可以在Unix系统上使用以下代码:
SPRING_PROFILES_ACTIVE=test gradle clean bootRun
在Windows上,您可以使用:
SET SPRING_PROFILES_ACTIVE=test
gradle clean bootRun
Spring Boot v2 Gradle插件文档提供了答案:
6.1向应用程序传递参数
与所有JavaExec任务一样,参数可以使用--args='从命令行传递到bootRun
要在活动配置文件设置为dev的情况下运行服务器,请执行以下操作:
$ ./gradlew bootRun --args='--spring.profiles.active=dev'
问题内容: 我正在尝试设置gradle以启用各种spring配置文件来启动该过程。 我当前的配置如下: 我想通过任务设置系统属性,然后执行。 我的尝试看起来像这样: 几个问题: 是spring boot bootRun配置的一部分? 是否可以在另一个任务中设置系统属性? 我下一步应该做什么?我需要先进行配置 我还有其他方法可以研究吗 -埃里克 问题答案: 最简单的方法是定义默认值并允许其被覆盖。我
我正在尝试将Gradle插件中的一些任务配置从Groovy转换为Kotlin。我发现的所有示例都是关于普通构建脚本的,这种方法似乎并没有直接转化为插件的使用。我的尝试如下: 产生以下错误: 类型不匹配:推断类型是()- 做这件事的正确方法是什么?
我想从我的Gradle脚本运行JMeter GUI,这样我就可以仔细控制版本和环境因素,这样我的本地开发人员机器构建1就没有必要的设置了。 我的JMeter的构建。gradle(多项目构建的一部分): 1目前,在我的构建中,所有内容都受到严格的版本控制,是Gradle构建的一部分。这包括NodeJS、NPM和Terraform。从字面上看,唯一的设置先决条件是Java8 JDK。我想用JMeter
我正在尝试从maven学习将gradle与springboot一起使用,所以我想知道如何在命令行中运行我的项目以获取不同的配置文件。这里的场景是我有我的属性,例如。 application-qa.properties 和 application.properties 然而,如果用< code >运行gradle。/gradlew -PspringProfile=qa启动 它只加载applicati
每当我通过命令行和mvn包运行应用程序时,IntelliJ 2016.1.2中都有一个小型Spring boot应用程序版本1.3.3 我记得我前段时间搜索过这个问题,它是IDE中一个已知的错误,也出现在Eclipse中。但是我找不到这些帖子了,因此无法访问解决方案。 你们谁能帮忙吗? 提前感谢。问候
我在build.gradle中创建了一个新的gradle任务: 哪个应该运行rerun.sh: 我使用IntelliJ作为IDE。如何运行此任务? 我尝试在zshell控制台中运行并收到此错误: gradle调用CL zsh:找不到命令:gradle 但是在 IDE 中,我一直使用 gradle,因此必须安装它。 我怎么才能解决这个问题?我的写作还好吗?