Java编译

API文档: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

要为其生成文件的目标 JVM .class

方法

方法描述
exclude(excludeSpec)

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

exclude(excludes)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

exclude(excludes)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

exclude(excludeSpec)

添加排除规范。可以多次调用此方法来附加新规范。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

include(includeSpec)

添加包含规范。可以多次调用此方法来附加新规范。给定的闭包将 aFileTreeElement作为其参数传递 。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

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

要为其生成文件的目标 JVM .class

默认使用java插件:
project.targetCompatibility

方法详情

SourceTask excludeClosure不包括规格)

添加排除规范。可以多次调用此方法来附加新规范。给定的闭包将 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>

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask excludeString...不包括)

添加 ANT 样式排除模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask exclude(不包括规格)Spec<FileTreeElement>

添加排除规范。可以多次调用此方法来附加新规范。如果未提供排除,则不会排除任何文件。如果提供了排除,则文件不得与要处理的任何排除模式匹配。

SourceTask includeClosure包括规格)

添加包含规范。可以多次调用此方法来附加新规范。给定的闭包将 aFileTreeElement作为其参数传递 。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

SourceTask include(包括)Iterable<String>

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

SourceTask includeString...包括)

添加 ANT 样式包含模式。可以多次调用此方法以附加新模式,并且可以在一次调用中指定多个模式。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要处理的包含模式之一。

SourceTask include(包括规格)Spec<FileTreeElement>

添加包含规范。可以多次调用此方法来附加新规范。如果未提供包含,则将包含此容器中的所有文件。如果提供了包含,则文件必须至少匹配要包含的包含模式或规范之一。

SourceTask sourceObject...来源)

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