W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
一個項目可以有很多 JAR 文件,你可以向項目中添加 WAR , ZIP 和 TAR 文檔,使用歸檔任務(wù)可以創(chuàng)建這些文檔: Zip , Tar , Jar , War 和Ear. 它門都以同樣的機制工作.
例 15.19 創(chuàng)建一個 ZIP 文檔
build.gradle
apply plugin: 'java'
task zip(type: Zip) {
from 'src/dist'
into('libs') {
from configurations.runtime
}
}
所有的歸檔任務(wù)的工作機制和復(fù)制任務(wù)相同,它們都實現(xiàn)了 CopySpec 接口,和 Copy 任務(wù)一樣,使用from() 方法指定輸入文件,可以選擇性的使用 into() 方法指定什么時候結(jié)束.你還可以過濾文件內(nèi)容,重命名文件等等,就如同使用復(fù)制規(guī)則一樣.
projectName-vsersion.type 格式可以被用來生成文檔名,例如:
例 15.20 創(chuàng)建壓縮文檔
build.gradle
apply plugin: 'java'
version = 1.0
task myZip(type: Zip) {
from 'somedir'
}
println myZip.archiveName
println relativePath(myZip.destinationDir)
println relativePath(myZip.archivePath)
使用 gradle -q myZip 命令進行輸出:
> gradle -q myZip
zipProject-1.0.zip
build/distributions
build/distributions/zipProject-1.0.zip
上面例子使用一個名為 myZip的 Zip 歸檔任務(wù)生成名稱為 zipProject-1.0.zip 的 ZIP 文檔,區(qū)分文檔任務(wù)名和最終生成的文檔名非常的重要
可以通過設(shè)置項目屬性 archivesBaseName 的值來 修改生成文檔的默認(rèn)名.當(dāng)然,文檔的名稱也可以通過其他方法隨時更改.
歸檔任務(wù)中有些屬性可以配置,如表 15.1 所示:
表 15.1 歸檔任務(wù)-屬性名
屬性名 | 類型 | 默認(rèn)值 | 描述 |
---|---|---|---|
archiveName | String | baseName-appendix-version-classifier.extension,如果其中任何一個都是空的,則不添加名稱 | 歸檔文件的基本文件名 |
archivePath | File | destinationDir/archiveName | 生成歸檔文件的絕對路徑。 |
destinationDir | File | 取決于文檔類型, JAR 和 WAR 使用project.buildDir/distributions. project.buildDir/libraries.ZIP 和 TAR | 歸檔文件的目錄 |
baseName | String | project.name | 歸檔文件名的基礎(chǔ)部分。 |
appendix | String | null | 歸檔文件名的附加部分。 |
version | String | project.version | 歸檔文件名的版本部分。 |
classifier | String | null | 歸檔文件名的分類部分 |
extension | String | 取決于文檔類型和壓縮類型: zip, jar, war, tar, tgz 或者 tbz2. | 歸檔文件的擴展名 |
例 15.21 配置歸檔文件-自定義文檔名
build.gradle
apply plugin: 'java'
version = 1.0
task myZip(type: Zip) {
from 'somedir'
baseName = 'customName'
}
println myZip.archiveName
使用 gradle -q myZip 命令進行輸出:
> gradle -q myZip
customName-1.0.zip
更多配置:
例 15.22 配置歸檔任務(wù)- 附加其他后綴
build.gradle
apply plugin: 'java'
archivesBaseName = 'gradle'
version = 1.0
task myZip(type: Zip) {
appendix = 'wrapper'
classifier = 'src'
from 'somedir'
}
println myZip.archiveName
使用 gradle -q myZip 命令進行輸出:
> gradle -q myZip
gradle-wrapper-1.0-src.zip
你可以使用 Project.copySpec() 在不用歸檔文件間共享內(nèi)容. 如果你想發(fā)布一個文檔,然后在另一個項目中使用,這部分將在第 53 章 發(fā)布文檔 中講述.
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: