使用 Gradle 运行您的应用程序
要运行你的应用程序而不先构建归档,可以使用启动运行任务:
$ ./gradlew bootRun
默认情况下,主类会自动配置,方法是寻找具有公共静态空缺主(String[])方法在主源集输出中。
主类也可以通过任务的主要财产:
-
Groovy
-
Kotlin
tasks.named("bootRun") {
mainClass = 'com.example.ExampleApplication'
}
tasks.named<BootRun>("bootRun") {
mainClass.set("com.example.ExampleApplication")
}
或者,主类名称也可以在项目范围内使用mainClassSpring靴DSL的属性:
-
Groovy
-
Kotlin
springBoot {
mainClass = 'com.example.ExampleApplication'
}
springBoot {
mainClass.set("com.example.ExampleApplication")
}
默认情况下,启动运行将配置JVM以优化其启动速度,以加快开发阶段的启动速度。
通过使用优化启动性质,如下例所示:
-
Groovy
-
Kotlin
tasks.named("bootRun") {
optimizedLaunch = false
}
tasks.named<BootRun>("bootRun") {
optimizedLaunch.set(false)
}
如果应用插件已经应用了,其mainClass属性必须配置,并且可用于相同的目的:
-
Groovy
-
Kotlin
application {
mainClass = 'com.example.ExampleApplication'
}
application {
mainClass.set("com.example.ExampleApplication")
}
向申请提交论据
就像所有人一样JavaExec任务,参数可以传递给启动运行从命令行使用--args='<arguments>'使用Gradle 4.9或更高版本时。
例如,运行应用程序时有一个名为开发激活时可以使用以下命令:
$ ./gradlew bootRun --args='--spring.profiles.active=dev'
将系统属性传递给你的应用
因为启动运行是标准JavaExec任务,系统属性可以通过在构建脚本中指定它们传递给应用程序的 JVM。
要让系统属性的值可配置,可以用项目属性设置它的值。
要让项目属性成为可选,请引用findProperty.
这样做还可以通过?:埃尔维斯算符,如下例所示:
-
Groovy
-
Kotlin
tasks.named("bootRun") {
systemProperty 'com.example.property', findProperty('example') ?: 'default'
}
tasks.named<BootRun>("bootRun") {
systemProperty("com.example.property", findProperty("example") ?: "default")
}
上述例子设定为com.example.property系统属性与示例项目财产。
如果示例项目属性尚未设定,系统属性的价值将为默认值.
Gradle 允许以多种方式设置项目属性,包括在命令行中使用-P旗帜,如下例所示:
$ ./gradlew bootRun -Pexample=custom
上述示例设定了示例项目财产习惯.启动运行然后将此值用作com.example.property系统属性。
补充资源
如果你的项目中已经添加了开发工具,它会自动监控应用的类路径是否有更改。 注意,修改过的文件需要重新编译,才能更新类路径,才能触发开发工具的重新加载。 有关使用devtools的更多细节,请参阅参考文档的这一部分。
或者,你也可以配置启动运行使得你的应用程序的静态资源从源位置加载:
-
Groovy
-
Kotlin
tasks.named("bootRun") {
sourceResources sourceSets.main
}
tasks.named<BootRun>("bootRun") {
sourceResources(sourceSets["main"])
}
这使得它们在正式应用中可重新加载,这在开发阶段非常有帮助。
使用测试主类
此外启动运行一个bootTestRun任务也会被注册。
喜欢启动运行,bootTestRun是 的一个实例启动运行但它配置为使用测试源集输出中的主类,而不是主源集。
它还使用测试源集的运行时类路径,而非主源集的运行时类路径。
如bootTestRun是 的一个实例启动运行,上述所有配置选项启动运行也可以与bootTestRun.