是否可以将类文件替换到jar中,并使用Gradle保留清单文件?我需要这样做,以便应用供应商提供的补丁,该补丁只提供类文件。
我试过了:
任务applayPatch(类型: Jar) {
destinationDir = new File("${rootProject.projectDir}/libs/tool")
archiveName = "myfile.jar"
from(zipTree("${rootProject.projectDir}/libs/myfile.jar")) {
exclude "com/tool/frontoffice/partymanager/partysearch/DynamicPartySearchWidget.class"
}
from ("${rootProject.projectDir}/point-release/FFO-33758/com/fineos/frontoffice/partymanager/partysearch") {
include "MyClass.class"
} }
但是没有给我一个空清单的jar,只有类MyClass.class
发布于 2015-01-15 02:44:20
尝试使用Gradle类型的任务而不是Jar,以避免让Gradle为您生成新的清单。
task patchedJar(type: Zip, dependsOn: jar) {
extension 'jar'
from(zipTree(jar.archivePath)) {
exclude '**/MyClass.class'
}
from("patches/dir") {
include 'com/foo/package/MyClass.class'
}
}请注意,默认情况下,这会将生成的jar放在build/distributions中。如果您想在其他地方获得输出,只需更改destinationDir属性。
https://stackoverflow.com/questions/27946825
复制相似问题