前面说了不少内容,但是我看了一下Gradle官方文档内容太多太详细。其中大部分内容其实我们不需要知道。一般情况下我们应用一部分插件就可以了。自己编写Gradle任务的情况并不多见。
Java插件
在build.gradle
文件中添加以下一句,即可启用Java插件。Java插件用于构建普通的Java项目。
apply plugin: 'java'
Java项目应该包括以下文件夹:
文件夹 | 含义 |
---|---|
src/main/java | 项目代码文件夹 |
src/main/resources | 项目资源文件夹 |
src/test/java | 项目测试代码文件夹 |
src/test/resources | 项目测试资源文件夹 |
之后,我们就可以使用java插件提供的大量任务了。这里列出一些常用的:
任务名称 | 描述 |
---|---|
compileJava | 编译代码 |
processResources | 将资源文件复制到生产文件夹中 |
classes | 将生产文件夹中的类和资源打包 |
compileTestJava | 编译测试代码 |
processTestResources | 将测试资源复制到测试资源文件夹中 |
testClasses | 将测试类和资源打包 |
jar | 打包成jar包 |
javadoc | 生成javadoc文档 |
clean | 清除生成文件夹和其中的所有内容 |
test | 运行单元测试 |
以下是一些常用的生存周期任务:
任务 | 描述 |
---|---|
assemble | 打包整个项目 |
check | 运行项目中所有验证任务 |
build | 对项目运行一次完整构建 |
War插件
添加以下一句启用War插件:
代码语言:javascript复制apply plugin: 'war'
和Java项目相比,War项目需要另一个文件夹:
文件夹 | 描述 |
---|---|
src/main/webapp | web源代码文件夹 |
War插件提供了一个任务,用来打包War文件:
任务 | 功能 |
---|---|
war | 将项目打包为war文件 |
Jetty插件
添加apply plugin: 'jetty'
来启用Jetty插件。我们可以使用jetty插件来运行web项目。
以下是Jetty插件提供的任务:
任务 | 描述 |
---|---|
jettyRun | 启动一个Jetty实例并运行项目 |
jettyRunWar | 启动Jetty实例并运行War项目 |
jettyStop | 关闭Jetty实例 |
如果你使用Jetty插件的话会发现Gradle会提示这个插件已经过时了,并且会在Gradle 4中移除。因此推荐使用另外一个功能更强的插件Gretty。
Gretty插件
Jetty插件已经过时了,Gradle推荐我们使用Gretty插件 。要安装Gretty插件,需要添加以下一句:
代码语言:javascript复制apply from: 'https://raw.github.com/akhikhl/gretty/master/pluginScripts/gretty.plugin'
然后运行appRun
任务即可启动web应用。Gretty插件功能非常丰富,同时支持Jetty 7、8、9以及Tomcat7、8,只需要向build.gradle
中添加如下片段:
gretty {
// supported values:
// 'jetty7', 'jetty8', 'jetty9', 'tomcat7', 'tomcat8'
servletContainer = 'jetty9'
}
关于其他Gretty插件的信息,请访问它的官方文档
Eclipse插件
添加apply plugin: 'eclipse'
启用Eclipse插件。它会为我们生成Eclipse项目文件,用于使用Eclipse开发时。
以下是常用任务:
任务 | 作用 |
---|---|
eclipse | 生成Eclipse项目文件 |
cleanEclipse | 清除Eclipse项目文件 |
IDEA插件
添加apply plugin: 'idea'
启用IDEA插件,当我们使用Intellij IDEA开发时很有用。
以下是常用任务:
任务 | 作用 |
---|---|
idea | 生成IDEA项目文件 |
cleanIdea | 清除IDEA项目文件 |
介绍了这么多插件,我们基本上就可以正常使用Gradle构建项目了。比如我们要生成一个普通的Java项目,就应用Java插件。如果我们准备在IDEA中开发程序,就应用Eclipse和IDEA插件。如果我们要开发web程序,就应用war插件和jetty插件。