JavaCompile

API 文档JavaCompile

编译 Java 源文件。

    plugins {
        id 'java'
    }

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

属性

属性描述
classpath

用于编译源文件的 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

用于编译源文件的 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[]) 进行评估。