GRAILS --- 命令 Grails WAR 和 Gradle Build 有什么区别?



我听说你应该输入命令

grails war

以生成项目。到目前为止,我一直认为Gradle负责在Grails中构建应用程序。我一直在做后者,坚信我的应用程序已经构建好了。那么两者之间有什么区别

grails war

gradle build

只是圣杯战争是gradle构建+创建战争文件吗?

比较Grails和Gradle并不是那么简单。Gradle是一个构建工具,而Grails是一个Web应用程序框架。

但是,Grails提供了一个命令行工具,在文档中进行了描述:

Grails集成了强大的构建系统Gant,它是Apache Ant的Groovy包装器。

因此,Grails不使用Gradle。

grails命令的基本用法如下所示:

grails [environment]* [command name]

其中,特别是命令名称参数必须是预定义值中的一个。您可以在此处找到有关war命令的文档。

gradle命令的基本用法如下所示:

gradle [option...] [task...]

列出的任务参数可以是build.gradle脚本或插件创建的任务的名称。将执行所有提到的任务及其各自的任务依赖项。如果您使用 Gradle War 插件,它将生成一个war任务,该任务也将(传递地)添加为build任务的任务依赖项。因此,每当您调用gradle build时,都会创建一个WAR文件。您也可以通过gradle war直接调用此任务。

编辑

我刚刚了解到Grails可以从某个版本开始使用Gradle。我甚至找到了一个列表,Grails命令调用哪个Gradle任务。根据此列表,调用grails war等同于调用gradle assembleassemble任务直接取决于war任务。

gradle build是 Gradle 的生命周期任务,通常包括构建软件所需的其他任务(如compileJava)和其他生命周期任务(如assemblecheck)。

在Grails的情况下,它将构建委托给Gradle和war任务,并且不包括执行单元测试的检查生命周期。

最新更新