我应该如何在Gradle中为Spring Boot应用程序设置主类?

时间:2016-07-01 10:26:46

标签: gradle spring-boot spring-boot-gradle-plugin

我阅读了春季启动文档,我发现至少有两种设置主类的方法:

bootRepackage {
    mainClass = 'demo.Application'
}

springBoot {
    mainClass = "demo.Application"
}

我应该使用哪一个,或者它们都是不同任务所必需的?我不想重复自己。

2 个答案:

答案 0 :(得分:1)

在Gradle术语中,springBoot是一个扩展名。当您使用它来配置主类时,您将为项目中的每个重新打包任务配置它。另一方面,bootRepackage引用了一个重新打包任务,因此您只需为该一个任务配置mainClass

  

我应该使用哪一个,或者它们都是不同任务所必需的?

如果您只有一个重新包装任务(默认情况下),这是个人喜好的问题。

如果您已配置其他重新打包任务,则可能最好在每个单独的任务上配置它,而不是使用springBoot扩展名。如果使用两者的混合,则单个重新打包任务的设置将优先于使用springBoot配置的任何设置。

答案 1 :(得分:0)

这是来自springBoot插件的文档:

The gradle plugin automatically extends your build script DSL with a 
springBoot element for global configuration of the Boot plugin. Set 
the appropriate properties as you would with any other Gradle 
extension (see below for a list of configuration options):

下面有一个配置bootRepackage插件的mainClass元素的例子:

The main class that should be run. If not specified, and you 
have applied the application plugin, the mainClassName project 
property will be used. If the application plugin has not been 
applied or no mainClassName has been specified, the archive will 
be searched for a suitable class. "Suitable" means a unique class 
with a well-formed main() method (if more than one is found the 
build will fail). If you have applied the application plugin, 
the main class can also be specified via its "run" task 
(main property) and/or its "startScripts" task 
(mainClassName property) as an alternative to using the 
"springBoot" configuration.

换句话说,这两者是相同的。