Java 編譯

API 文件Java 編譯

編譯 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[]) 進行評估。