Chapter 23. The Java Plugin 关于 Java 插件
Java 插件添加 Java 编译和测试、捆绑的能力到项目中。这是许多其他 Gradle 插件的基础。
23.1. 用法
使用 Java 插件,添加如下脚本
Example 23.1. Using the Java plugin
build.gradle
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 | 删除项目构建目录 |
clean | - | Delete | 删除特定任务的文件。cleanJar 将会删除 jar 任务生产的 JAR 文件,cleanTest 将会删除test 任务测试产生的结果 |
For each source set you add to the project, the Java plugin adds the following compilation tasks: