Chapter 23. The Java Plugin 关于 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 任务给项目依赖,包含在编译配置中
JavaCompileCompiles 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
compileJavadoc使用 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: