JavaCompile

编译 Java 源文件。

    plugins {
        id 'java'
    }

    tasks.withType(JavaCompile).configureEach {
        //enable compilation in a separate daemon process
        options.fork = true
    }

属性

属性描述
classpath

用于编译源文件的类路径。

destinationDir
已废弃
已替换

生成 .class 文件的目录。

destinationDirectory

表示生成 .class 文件的目录属性。

excludes

排除模式的集合。

includes

包含模式的集合。

javaCompiler

配置用于编译 Java 源代码的 Java 编译器。

modularity

此编译任务的模块路径处理。

options

编译选项。

source

应用包含和排除模式后,此任务的源。忽略不存在的源文件。

sourceCompatibility

用于编译源文件的 Java 语言级别。

targetCompatibility

生成 .class 文件的目标 JVM。

方法

方法描述
exclude(excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。给定的闭包将 FileTreeElement 作为参数传递。该闭包应返回 true 或 false。示例

exclude(excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

exclude(excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

exclude(excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

include(includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。给定的闭包将 FileTreeElement 作为参数传递。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式或规范才能被包含。

include(includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式才能被处理。

include(includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式才能被处理。

include(includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式或规范才能被包含。

source(sources)

将一些源添加到此任务。给定的源对象将按照 Project.files(java.lang.Object[]) 进行评估。

脚本块

没有脚本块

属性详情

FileCollection classpath

用于编译源文件的类路径。

java 插件的默认值
sourceSet.compileClasspath

File destinationDir

注意:此属性已废弃,并将在 Gradle 的下一个主要版本中移除。

注意:此属性已由 destinationDirectory 替换。

生成 .class 文件的目录。

java 插件的默认值
sourceSet.sourceDirectorySet.destinationDirectory

DirectoryProperty destinationDirectory

表示生成 .class 文件的目录属性。

java 插件的默认值
sourceSet.sourceDirectorySet.destinationDirectory

Set<String> excludes

排除模式的集合。

Set<String> includes

包含模式的集合。

Property<JavaCompiler> javaCompiler

配置用于编译 Java 源代码的 Java 编译器。

java 插件的默认值
java.toolchain

ModularitySpec modularity (只读)

此编译任务的模块路径处理。

CompileOptions options (只读)

编译选项。

FileTree source (只读)

应用包含和排除模式后,此任务的源。忽略不存在的源文件。

源的 PathSensitivity 被配置为 PathSensitivity.ABSOLUTE。如果你的源的要求不那么严格,请在你的子类中覆盖此方法以进行相应的更改。

java 插件的默认值
sourceSet.java

String sourceCompatibility

用于编译源文件的 Java 语言级别。

java 插件的默认值
project.sourceCompatibility

String targetCompatibility

生成 .class 文件的目标 JVM。

java 插件的默认值
project.targetCompatibility

方法详情

SourceTask exclude(Closure excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。给定的闭包将 FileTreeElement 作为参数传递。该闭包应返回 true 或 false。示例

copySpec {
  from 'source'
  into 'destination'
  //an example of excluding files from certain configuration:
  exclude { it.file in configurations.someConf.files }
}

如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(Iterable<String> excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(String... excludes)

添加 ANT 风格的排除模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

SourceTask exclude(Spec<FileTreeElement> excludeSpec)

添加一个排除规范。此方法可以多次调用以追加新的规范。如果未提供排除项,则不排除任何文件。如果提供了排除项,则文件必须不匹配任何排除模式才能被处理。

SourceTask include(Closure includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。给定的闭包将 FileTreeElement 作为参数传递。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式或规范才能被包含。

SourceTask include(Iterable<String> includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式才能被处理。

SourceTask include(String... includes)

添加 ANT 风格的包含模式。此方法可以多次调用以追加新的模式,也可以在一次调用中指定多个模式。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式才能被处理。

SourceTask include(Spec<FileTreeElement> includeSpec)

添加一个包含规范。此方法可以多次调用以追加新的规范。如果未提供包含项,则此容器中的所有文件都将包含在内。如果提供了包含项,则文件必须匹配至少一个包含模式或规范才能被包含。

SourceTask source(Object... sources)

将一些源添加到此任务。给定的源对象将按照 Project.files(java.lang.Object[]) 进行评估。