JavaCompile

API 文档JavaCompile

编译 Java 源文件。

    plugins {
        id 'java'
    }

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

属性

属性描述
类路径

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

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

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[]) 进行评估。