关于 Java 插件

Java 插件添加 Java 编译和测试、捆绑的能力到项目中。这是许多其他 Gradle 插件的基础。

23.1. 用法

使用 Java 插件,添加如下脚本

Example 23.1. Using the Java plugin

build.gradle

  1. apply plugin: 'java'

23.2. Source set

Java 插件引入了 source set 概念。 source set 就是一个源文件集合,用于编译和执行。这些源文件可能包含 Java 源文件和资源文件。其他插件添加这种包含 Groovy 和 Scala 源文件的能力。 source set 与编译 classpath 和运行时 classpath 关联。

source set 的一个用途是将源文件进行逻辑分组,这样可以描述他们的目的。例如,你可能使用 source set 来定义一个继承测试套件,或者你可能使用独立的 source set 来定义 API 和项目类的实现。

Java 插件定义了两个标准 source set ,称为 main 和 test。mian source set 包含您的生产源代码,并编译成一个 JAR 文件。test source set 包含您的测试源代码,这是使用 JUnit 和 TestNG 来编译和执行。这些可以是单元测试,集成测试,验收测试,或任何组合,对你非常有用。

23.3. Task(任务)

Java 插件添加了很多任务到你的项目中,如下:

Table 23.1. Java plugin - tasks

Task 名称 依赖于 类型 描述
compileJava 所有任务产生编译 classpath。这包含了 jar 任务给项目依赖,包含在编译配置中 JavaCompile Compiles production Java source files 使用 javac 产生编译 Java 源文件
processResources - Copy 拷贝生产资源到生产类目下
classes compileJava 任务和processResources 任务。一些插件添加了额外的编译任务 Task 组装生产类目录
compileTestJava compile, 加上所有的任务产生测试编译 classpath JavaCompile 使用 javac 来编译测试 Java 源文件
processTestResources - Copy 拷贝测试源文件到测试类目录
testClasses compileTestJava 任务和 processTestResources 任务。一些插件添加了额外的测试编译任务 Task 组装生产类目录
jar compile Jar 组装 JAR 文件
javadoc compile Javadoc 使用 Javadoc 产生 API 文档给生产的 Java 源文件
test compile, compileTest, 加上所有的任务产生的测试运行时的classpath Test 使用 JUnit 或 TestNG 执行单元测试
uploadArchives 任务产生在 archives 配置中的的构件,包含了jar. Upload 上传archives 配置的构件, 包含了 JAR 文件
clean - Delete 删除项目构建目录
cleanTaskName - Delete 删除特定任务的文件。cleanJar 将会删除 jar任务生产的 JAR 文件, cleanTest 将会删除test 任务测试产生的结果

For each source set you add to the project, the Java plugin adds the following compilation tasks: