Ear

API 文件Ear (Ear)

組裝 EAR 歸檔檔。

屬性

屬性描述
archiveAppendix (歸檔檔後綴)

歸檔檔名稱的後綴部分,如果有的話。

archiveBaseName (歸檔檔基本名稱)

歸檔檔的基本名稱。

archiveClassifier (歸檔檔分類器)

歸檔檔名稱的分類器部分,如果有的話。

archiveExtension (歸檔檔副檔名)

歸檔檔名稱的副檔名部分。

archiveFile (歸檔檔檔案)

建構歸檔檔的 RegularFile。路徑僅為 destinationDirectory 加上 archiveFileName

archiveFileName (歸檔檔檔案名稱)

歸檔檔名稱。如果名稱尚未明確設定,則名稱的模式為:[archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]

archiveVersion (歸檔檔版本)

歸檔檔名稱的版本部分。

caseSensitive (區分大小寫)

指定是否應使用區分大小寫的模式比對。

destinationDirectory (目標目錄)

將放置歸檔檔的目錄。

dirPermissions (目錄權限)

用於查詢和配置目錄存取權限的屬性。如果該屬性未設定值,則表示保留現有的權限。這些權限是否實際應用取決於複製動作的實作。詳細資訊請參閱 ConfigurableFilePermissions

duplicatesStrategy (重複策略)

嘗試將多個檔案複製到相同目標時要使用的策略。

entryCompression (條目壓縮)

歸檔檔條目的壓縮等級。如果設定為 ZipEntryCompression.DEFLATED(預設值),則每個條目都使用 DEFLATE 演算法壓縮。如果設定為 ZipEntryCompression.STORED,則歸檔檔的條目保持未壓縮狀態。

excludes (排除)

排除模式的集合。

filePermissions (檔案權限)

用於查詢和配置檔案存取權限的屬性。如果該屬性未設定值,則表示保留現有的權限。這些權限是否實際應用取決於複製動作的實作。詳細資訊請參閱 ConfigurableFilePermissions

generateDeploymentDescriptor (產生部署描述符)

是否應產生 deploymentDescriptor?

includeEmptyDirs (包含空目錄)

告知是否將在複製中包含空的目標目錄。

includes (包含)

包含模式的集合。

libDirName (lib 目錄名稱)

EAR 檔案中函式庫目錄的名稱。預設值為 "lib"。

manifest (Manifest)

此 JAR 歸檔檔的 manifest。

metadataCharset (元數據字元集)

用於編碼 JAR 元數據(如檔案名稱)的字元集。預設為 UTF-8。您可以變更此屬性,但不建議這樣做,因為 JVM 預期 JAR 元數據使用 UTF-8 編碼

preserveFileTimestamps (保留檔案時間戳記)

指定是否應在歸檔檔中保留檔案時間戳記。

reproducibleFileOrder (可重現的檔案順序)

指定在從目錄讀取檔案時是否強制執行可重現的檔案順序。

source (來源)

此任務的來源檔案。

zip64 (zip64)

zip 是否可以包含超過 65535 個檔案和/或支援大於 4GB 的檔案。

方法

方法描述
deploymentDescriptor(configureClosure)

配置此 EAR 歸檔檔的部署描述符。

deploymentDescriptor(configureAction)

配置此 EAR 歸檔檔的部署描述符。

eachFile(closure)

新增一個動作,以應用於每個即將複製到其目標位置的檔案。給定的 closure 會使用 FileCopyDetails 作為其參數來呼叫。動作會依新增順序執行,並從父規範繼承。

eachFile(action)

新增一個動作,以應用於每個即將複製到其目標位置的檔案。動作可以變更檔案的目標路徑、篩選檔案的內容,或完全從結果中排除該檔案。動作會依新增順序執行,並從父規範繼承。

exclude(excludeSpec)

新增排除規範。可以多次呼叫此方法以附加新的規範。給定的 closure 會傳遞 FileTreeElement 作為其參數。closure 應傳回 true 或 false。範例

exclude(excludes)

新增 ANT 樣式的排除模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

exclude(excludes)

新增 ANT 樣式的排除模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

exclude(excludeSpec)

新增排除規範。可以多次呼叫此方法以附加新的規範。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

expand(properties)

在複製每個檔案時展開屬性參考。更具體來說,每個檔案都使用 Groovy 的 SimpleTemplateEngine 進行轉換。這表示您可以在檔案中使用簡單的屬性參考,例如 $property${property}。您也可以在檔案中包含任意 Groovy 程式碼,例如 ${version ?: 'unknown'}${classpath*.name.join(' ')}

expand(properties, action)

在複製每個檔案時展開屬性參考。更具體來說,每個檔案都使用 Groovy 的 SimpleTemplateEngine 進行轉換。這表示您可以在檔案中使用簡單的屬性參考,例如 $property${property}。您也可以在檔案中包含任意 Groovy 程式碼,例如 ${version ?: 'unknown'}${classpath*.name.join(' ')}。可以使用提供的動作來配置模板引擎。

filesMatching(patterns, action)

為每個路徑符合任何指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

filesMatching(pattern, action)

為每個路徑符合指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

filesNotMatching(patterns, action)

為每個路徑不符合任何指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

filesNotMatching(pattern, action)

為每個路徑不符合指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

filter(closure)

根據提供的 closure 新增內容篩選器。將使用每一行(去除行尾符號)呼叫 Closure,並應傳回字串以取代該行或 null 以移除該行。如果移除每一行,結果將會是一個空檔案,而不是一個不存在的檔案。

filter(filterType)

新增要在複製期間使用的內容篩選器。多次呼叫 filter 會將額外的篩選器新增至篩選器鏈。每個篩選器都應實作 java.io.FilterReader。包含 org.apache.tools.ant.filters.* 以存取所有標準 Ant 篩選器。

filter(properties, filterType)

新增要在複製期間使用的內容篩選器。多次呼叫 filter 會將額外的篩選器新增至篩選器鏈。每個篩選器都應實作 java.io.FilterReader。包含 org.apache.tools.ant.filters.* 以存取所有標準 Ant 篩選器。

filter(transformer)

根據提供的 transformer 新增內容篩選器。將使用每一行(去除行尾符號)呼叫 Closure,並應傳回字串以取代該行或 null 以移除該行。如果移除每一行,結果將會是一個空檔案,而不是一個不存在的檔案。

from(sourcePath, c)

指定複製的來源檔案或目錄,並建立子 CopySourceSpec。給定的來源路徑會根據 Project.files(java.lang.Object[]) 進行評估。

from(sourcePath, configureAction)

指定複製的來源檔案或目錄,並建立子 CopySpec。給定的來源路徑會根據 Project.files(java.lang.Object[]) 進行評估。

from(sourcePaths)

指定複製的來源檔案或目錄。給定的路徑會根據 Project.files(java.lang.Object[]) 進行評估。

include(includeSpec)

新增包含規範。可以多次呼叫此方法以附加新的規範。給定的 closure 會傳遞 FileTreeElement 作為其參數。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式或規範才能包含在內。

include(includes)

新增 ANT 樣式的包含模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式才能進行處理。

include(includes)

新增 ANT 樣式的包含模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式才能進行處理。

include(includeSpec)

新增包含規範。可以多次呼叫此方法以附加新的規範。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式或規範才能包含在內。

into(destPath)

指定檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

into(destPath, configureClosure)

建立並配置子 CopySpec,其中包含檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

into(destPath, copySpec)

建立並配置子 CopySpec,其中包含檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

lib(configureClosure)

新增要包含在 EAR 歸檔檔 'lib' 目錄中的依賴函式庫。

lib(configureAction)

新增要包含在 EAR 歸檔檔 'lib' 目錄中的依賴函式庫。

manifest(configureClosure)

配置此 JAR 歸檔檔的 manifest。

manifest(configureAction)

配置此 JAR 歸檔檔的 manifest。

metaInf(configureClosure)

將內容新增至此 JAR 歸檔檔的 META-INF 目錄。

metaInf(configureAction)

將內容新增至此 JAR 歸檔檔的 META-INF 目錄。

rename(closure)

重新命名來源檔案。將使用單一參數(檔案名稱)呼叫 closure。closure 應傳回包含新目標名稱的字串物件。closure 可以傳回 null,在這種情況下將使用原始名稱。

rename(sourceRegEx, replaceWith)

根據正則表達式重新命名檔案。使用 java.util.regex 類型的正則表達式。請注意,取代字串應使用 '$1' 語法來參考來源正則表達式中的捕獲群組。不符合來源正則表達式的檔案將使用原始名稱複製。

rename(sourceRegEx, replaceWith)

根據正則表達式重新命名檔案。請參閱 CopyProcessingSpec.rename(java.lang.String, java.lang.String)

rename(renamer)

重新命名來源檔案。將使用單一參數(檔案名稱)呼叫函數。函數應傳回新的目標名稱。函數可以傳回 null,在這種情況下將使用原始名稱。

with(sourceSpecs)

將給定的規範新增為此規範的子項。

腳本區塊

沒有腳本區塊

屬性詳細資訊

Property<String> archiveAppendix

歸檔檔名稱的後綴部分,如果有的話。

使用 ear 外掛的預設值
""

Property<String> archiveBaseName

歸檔檔的基本名稱。

使用 ear 外掛的預設值
project.archivesBaseName

Property<String> archiveClassifier

歸檔檔名稱的分類器部分,如果有的話。

使用 ear 外掛的預設值
""

Property<String> archiveExtension

歸檔檔名稱的副檔名部分。

Provider<RegularFile> archiveFile

建構歸檔檔的 RegularFile。路徑僅為 destinationDirectory 加上 archiveFileName

使用 ear 外掛的預設值
${destinationDirectory}/${archiveFileName}

Property<String> archiveFileName

歸檔檔名稱。如果名稱尚未明確設定,則名稱的模式為:[archiveBaseName]-[archiveAppendix]-[archiveVersion]-[archiveClassifier].[archiveExtension]

使用 ear 外掛的預設值
${archiveBaseName}-${archiveAppendix}-${archiveVersion}-${archiveClassifier}.${archiveExtension}

Property<String> archiveVersion

歸檔檔名稱的版本部分。

使用 ear 外掛的預設值
project.version

boolean caseSensitive

指定是否應使用區分大小寫的模式比對。

使用 ear 外掛的預設值
true

DirectoryProperty destinationDirectory

將放置歸檔檔的目錄。

使用 ear 外掛的預設值
project.distsDir

用於查詢和配置目錄存取權限的屬性。如果該屬性未設定值,則表示保留現有的權限。這些權限是否實際應用取決於複製動作的實作。詳細資訊請參閱 ConfigurableFilePermissions

使用 ear 外掛的預設值
null

DuplicatesStrategy duplicatesStrategy

嘗試將多個檔案複製到相同目標時要使用的策略。

可以使用不區分大小寫的字串來設定值,該字串為列舉值(例如 'exclude' 代表 DuplicatesStrategy.EXCLUDE)。

可以使用 CopySpec.eachFile(org.gradle.api.Action)CopySpec.filesMatching(java.lang.String, org.gradle.api.Action) 來覆寫個別檔案的此策略。

使用 ear 外掛的預設值
DuplicatesStrategy.INHERIT

ZipEntryCompression entryCompression

歸檔檔條目的壓縮等級。如果設定為 ZipEntryCompression.DEFLATED(預設值),則每個條目都使用 DEFLATE 演算法壓縮。如果設定為 ZipEntryCompression.STORED,則歸檔檔的條目保持未壓縮狀態。

預設值
ZipEntryCompression.DEFLATED

Set<String> excludes

排除模式的集合。

使用 ear 外掛的預設值
[]

用於查詢和配置檔案存取權限的屬性。如果該屬性未設定值,則表示保留現有的權限。這些權限是否實際應用取決於複製動作的實作。詳細資訊請參閱 ConfigurableFilePermissions

使用 ear 外掛的預設值
null

Property<Boolean> generateDeploymentDescriptor

是否應產生 deploymentDescriptor?

使用 ear 外掛的預設值
true

boolean includeEmptyDirs

告知是否將在複製中包含空的目標目錄。

使用 ear 外掛的預設值
true

Set<String> includes

包含模式的集合。

使用 ear 外掛的預設值
[]

String libDirName

EAR 檔案中函式庫目錄的名稱。預設值為 "lib"。

使用 ear 外掛的預設值
'lib'

Manifest manifest

此 JAR 歸檔檔的 manifest。

String metadataCharset

用於編碼 JAR 元數據(如檔案名稱)的字元集。預設為 UTF-8。您可以變更此屬性,但不建議這樣做,因為 JVM 預期 JAR 元數據使用 UTF-8 編碼

預設值
UTF-8

boolean preserveFileTimestamps

指定是否應在歸檔檔中保留檔案時間戳記。

如果 false,這可確保歸檔檔條目在不同機器、Java 版本和作業系統之間的建置中具有相同的時間。

使用 ear 外掛的預設值
true

boolean reproducibleFileOrder

指定在從目錄讀取檔案時是否強制執行可重現的檔案順序。

然後,Gradle 將以可重現的順序遍歷磁碟上的目錄,這些目錄是此歸檔檔的一部分,而與檔案系統和作業系統無關。這有助於 Gradle 可靠地產生位元組對位元組可重現的歸檔檔。

使用 ear 外掛的預設值
false

FileCollection source (唯讀)

此任務的來源檔案。

boolean zip64

zip 是否可以包含超過 65535 個檔案和/或支援大於 4GB 的檔案。

標準 zip 格式對檔案大小和計數有硬性限制。Zip64 格式擴展 實際上消除了這些限制,因此是建置大型 zip 所必需的。

但是,並非所有 Zip 讀取器都支援 Zip64 擴展。值得注意的是,ZipInputStream JDK 類別在 Java 7 之前的版本中不支援 Zip64。這表示如果要建置要與 Java 6 和更早版本執行時期一起使用的 JAR,則不應啟用此屬性。

預設值
false

方法詳細資訊

Ear deploymentDescriptor(Closure configureClosure)

配置此 EAR 歸檔檔的部署描述符。

給定的閉包 (closure) 會被執行以設定部署描述符 (deployment descriptor)。DeploymentDescriptor 會以委派 (delegate) 的身分傳遞至該閉包。

Ear deploymentDescriptor(Action<? super DeploymentDescriptor> configureAction)

配置此 EAR 歸檔檔的部署描述符。

給定的動作 (action) 會被執行以設定部署描述符。

AbstractCopyTask eachFile(Closure closure)

新增一個動作,以應用於每個即將複製到其目標位置的檔案。給定的 closure 會使用 FileCopyDetails 作為其參數來呼叫。動作會依新增順序執行,並從父規範繼承。

AbstractCopyTask eachFile(Action<? super FileCopyDetails> action)

新增一個動作,以應用於每個即將複製到其目標位置的檔案。動作可以變更檔案的目標路徑、篩選檔案的內容,或完全從結果中排除該檔案。動作會依新增順序執行,並從父規範繼承。

AbstractCopyTask exclude(Closure excludeSpec)

新增排除規範。可以多次呼叫此方法以附加新的規範。給定的 closure 會傳遞 FileTreeElement 作為其參數。closure 應傳回 true 或 false。範例

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

如果未提供排除 (excludes),則不會排除任何檔案。如果提供了排除,則檔案必須不符合任何排除模式才能被處理。

AbstractCopyTask exclude(Iterable<String> excludes)

新增 ANT 樣式的排除模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

AbstractCopyTask exclude(String... excludes)

新增 ANT 樣式的排除模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

AbstractCopyTask exclude(Spec<FileTreeElement> excludeSpec)

新增排除規範。可以多次呼叫此方法以附加新的規範。如果未提供排除項,則不會排除任何檔案。如果提供了排除項,則檔案必須不符合任何排除模式才能進行處理。

AbstractCopyTask expand(Map<String, ?> properties)

在複製每個檔案時展開屬性參考。更具體來說,每個檔案都使用 Groovy 的 SimpleTemplateEngine 進行轉換。這表示您可以在檔案中使用簡單的屬性參考,例如 $property${property}。您也可以在檔案中包含任意 Groovy 程式碼,例如 ${version ?: 'unknown'}${classpath*.name.join(' ')}

請注意,所有跳脫序列 (\n\t\\ 等) 都會轉換為它們所代表的符號,因此,例如,\n 會變成換行符號。如果這是不 желательным (undesirable),則應使用 ContentFilterable.expand(java.util.Map, org.gradle.api.Action) 以停用此行為。

AbstractCopyTask expand(Map<String, ?> properties, Action<? super ExpandDetails> action)

在複製每個檔案時展開屬性參考。更具體來說,每個檔案都使用 Groovy 的 SimpleTemplateEngine 進行轉換。這表示您可以在檔案中使用簡單的屬性參考,例如 $property${property}。您也可以在檔案中包含任意 Groovy 程式碼,例如 ${version ?: 'unknown'}${classpath*.name.join(' ')}。可以使用提供的動作來配置模板引擎。

請注意,預設情況下,所有跳脫序列 (\n\t\\ 等) 都會轉換為它們所代表的符號,因此,例如,\n 會變成換行符號。此行為由 ExpandDetails.getEscapeBackslash() 屬性控制。應將其設定為 true 以停用跳脫序列轉換。

 expand(one: '1', two: 2) {
     escapeBackslash = true
 }

AbstractCopyTask filesMatching(Iterable<String> patterns, Action<? super FileCopyDetails> action)

為每個路徑符合任何指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

AbstractCopyTask filesMatching(String pattern, Action<? super FileCopyDetails> action)

為每個路徑符合指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

AbstractCopyTask filesNotMatching(Iterable<String> patterns, Action<? super FileCopyDetails> action)

為每個路徑不符合任何指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

AbstractCopyTask filesNotMatching(String pattern, Action<? super FileCopyDetails> action)

為每個路徑不符合指定 Ant 樣式模式的檔案配置 FileCopyDetails。這相當於使用 eachFile() 並根據檔案的路徑選擇性地應用配置。

AbstractCopyTask filter(Closure closure)

根據提供的 closure 新增內容篩選器。將使用每一行(去除行尾符號)呼叫 Closure,並應傳回字串以取代該行或 null 以移除該行。如果移除每一行,結果將會是一個空檔案,而不是一個不存在的檔案。

AbstractCopyTask filter(Class<? extends FilterReader> filterType)

新增要在複製期間使用的內容篩選器。多次呼叫 filter 會將額外的篩選器新增至篩選器鏈。每個篩選器都應實作 java.io.FilterReader。包含 org.apache.tools.ant.filters.* 以存取所有標準 Ant 篩選器。

範例

   filter(StripJavaComments)
   filter(com.mycompany.project.CustomFilter)

AbstractCopyTask filter(Map<String, ?> properties, Class<? extends FilterReader> filterType)

新增要在複製期間使用的內容篩選器。多次呼叫 filter 會將額外的篩選器新增至篩選器鏈。每個篩選器都應實作 java.io.FilterReader。包含 org.apache.tools.ant.filters.* 以存取所有標準 Ant 篩選器。

篩選器 (Filter) 屬性可以使用 Groovy map 語法指定。

範例

   filter(HeadFilter, lines:25, skip:2)
   filter(ReplaceTokens, tokens:[copyright:'2009', version:'2.3.1'])

根據提供的 transformer 新增內容篩選器。將使用每一行(去除行尾符號)呼叫 Closure,並應傳回字串以取代該行或 null 以移除該行。如果移除每一行,結果將會是一個空檔案,而不是一個不存在的檔案。

AbstractCopyTask from(Object sourcePath, Closure c)

指定複製的來源檔案或目錄,並建立子 CopySourceSpec。給定的來源路徑會根據 Project.files(java.lang.Object[]) 進行評估。

AbstractCopyTask from(Object sourcePath, Action<? super CopySpec> configureAction)

指定複製的來源檔案或目錄,並建立子 CopySpec。給定的來源路徑會根據 Project.files(java.lang.Object[]) 進行評估。

AbstractCopyTask from(Object... sourcePaths)

指定複製的來源檔案或目錄。給定的路徑會根據 Project.files(java.lang.Object[]) 進行評估。

AbstractCopyTask include(Closure includeSpec)

新增包含規範。可以多次呼叫此方法以附加新的規範。給定的 closure 會傳遞 FileTreeElement 作為其參數。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式或規範才能包含在內。

AbstractCopyTask include(Iterable<String> includes)

新增 ANT 樣式的包含模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式才能進行處理。

AbstractCopyTask include(String... includes)

新增 ANT 樣式的包含模式。可以多次呼叫此方法以附加新的模式,並且可以在單次呼叫中指定多個模式。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式才能進行處理。

AbstractCopyTask include(Spec<FileTreeElement> includeSpec)

新增包含規範。可以多次呼叫此方法以附加新的規範。如果未提供包含項,則將包含此容器中的所有檔案。如果提供了包含項,則檔案必須符合至少一個包含模式或規範才能包含在內。

指定檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

AbstractArchiveTask into(Object destPath, Closure configureClosure)

建立並配置子 CopySpec,其中包含檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

CopySpec into(Object destPath, Action<? super CopySpec> copySpec)

建立並配置子 CopySpec,其中包含檔案在歸檔檔 *內部* 的目標目錄。目標目錄會根據 Project.file(java.lang.Object) 進行評估。不要將其與 AbstractArchiveTask.getDestinationDirectory() 混淆,後者指定歸檔檔的輸出目錄。

CopySpec lib(Closure configureClosure)

新增要包含在 EAR 歸檔檔 'lib' 目錄中的依賴函式庫。

給定的閉包 (closure) 會被執行以設定 CopySpecCopySpec 會以委派 (delegate) 的身分傳遞至該閉包。

CopySpec lib(Action<? super CopySpec> configureAction)

新增要包含在 EAR 歸檔檔 'lib' 目錄中的依賴函式庫。

給定的動作 (action) 會被執行以設定 CopySpec

Jar manifest(Closure<?> configureClosure)

配置此 JAR 歸檔檔的 manifest。

給定的閉包 (closure) 會被執行以設定 manifest。 Manifest 會以委派 (delegate) 的身分傳遞至該閉包。

Jar manifest(Action<? super Manifest> configureAction)

配置此 JAR 歸檔檔的 manifest。

給定的動作 (action) 會被執行以設定 manifest。

CopySpec metaInf(Closure<?> configureClosure)

將內容新增至此 JAR 歸檔檔的 META-INF 目錄。

給定的閉包 (closure) 會被執行以設定 CopySpecCopySpec 會以委派 (delegate) 的身分傳遞至該閉包。

CopySpec metaInf(Action<? super CopySpec> configureAction)

將內容新增至此 JAR 歸檔檔的 META-INF 目錄。

給定的動作 (action) 會被執行以設定 CopySpec

AbstractCopyTask rename(Closure closure)

重新命名來源檔案。將使用單一參數(檔案名稱)呼叫 closure。closure 應傳回包含新目標名稱的字串物件。closure 可以傳回 null,在這種情況下將使用原始名稱。

AbstractCopyTask rename(String sourceRegEx, String replaceWith)

根據正則表達式重新命名檔案。使用 java.util.regex 類型的正則表達式。請注意,取代字串應使用 '$1' 語法來參考來源正則表達式中的捕獲群組。不符合來源正則表達式的檔案將使用原始名稱複製。

範例

rename '(.*)_OEM_BLUE_(.*)', '$1$2'

會將檔案 'style_OEM_BLUE_.css' 對應到 'style.css'

AbstractCopyTask rename(Pattern sourceRegEx, String replaceWith)

根據正則表達式重新命名檔案。請參閱 CopyProcessingSpec.rename(java.lang.String, java.lang.String)

重新命名來源檔案。將使用單一參數(檔案名稱)呼叫函數。函數應傳回新的目標名稱。函數可以傳回 null,在這種情況下將使用原始名稱。

CopySpec with(CopySpec... sourceSpecs)

將給定的規範新增為此規範的子項。

def contentSpec = copySpec {
  from("content") {
    include "**/*.txt"
  }
}

task copy(type: Copy) {
  into "$buildDir/copy"
  with contentSpec
}