W3Cschool
恭喜您成為首批注冊用戶
獲得88經(jīng)驗值獎勵
每個 jar 或 war 對象有一個 manifest 屬性做為Manifest單獨的實例, 當生成存檔, 一個對應MANIFEST.MF文件被寫入到檔案中.
例22.15.MANIFEST.MF的定??制build.gradle
jar {
manifest {
attributes("Implementation-Title": "Gradle",
"Implementation-Version": version)
}
}
你可以創(chuàng)建一個 manifest 的獨立實例. 您可以使用如共享 jar 之間的 manifest 的信息.
例22.16.創(chuàng)建一個manifest對象build.gradle
ext.sharedManifest = manifest {
attributes("Implementation-Title": "Gradle",
"Implementation-Version": version)
}
task fooJar(type: Jar) {
manifest = project.manifest {
from sharedManifest
}
}
您可以合并其他 manifest 到任何 Manifest 對象. 其它清單可能是通過文件路徑描述或著像上所述, 引用另一個Manifest對象.
例22.17.獨立的MANIFEST.MF一個特定的歸檔build.gradle
task barJar(type: Jar) {
manifest {
attributes key1: 'value1'
from sharedManifest, 'src/config/basemanifest.txt'
from('src/config/javabasemanifest.txt',
'src/config/libbasemanifest.txt') {
eachEntry { details ->
if (details.baseValue != details.mergeValue) {
details.value = baseValue
}
if (details.key == 'foo') {
details.exclude()
}
}
}
}
}
清單合并的順序與聲明語句的順序相同,如果基本清單和合并的清單都為相同的密鑰定義值,那么那么合并清單將會被合并,您可以通過添加在其中您可以使用一個ManifestMergeDetails實例為每個條目實體完全自定義的合并行為。聲明不會立即被來自觸發(fā)合并。這是延遲執(zhí)行的,要么產(chǎn)生jar時,或要求寫入effectiveManifest時. 你可以很容易地寫一個清單到磁盤。 例22.17.獨立的MANIFEST.MF一個特定的存檔 build.gradle
jar.manifest.writeTo("$buildDir/mymanifest.mf")
Copyright©2021 w3cschool編程獅|閩ICP備15016281號-3|閩公網(wǎng)安備35020302033924號
違法和不良信息舉報電話:173-0602-2364|舉報郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號
聯(lián)系方式:
更多建議: