我添加了exclude
语句,但仍然在jar中添加了我的排除abc/object/MyTestConfig*.class
,原因何在?
jar {
zip64 true
from((configurations.compile - configurations.jarDepends).collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
from ("$projectDir/src/main/java/") {
include "**/*.hbm.xml",
"abc/tools/xml/XMLClasses.MF"
exclude "abc/object/MyTestConfig*.class"
}
}
task filterVersionConstants(type: Copy) {
from "src/main/java/abc/"
into "src/main/java/abc/"
include "VersionConstants.tmpl"
exclude "**/MyTestConfig*.class"
rename { String fileName ->
fileName.replace('.tmpl', '.java')
}
答案 0 :(得分:0)
您正尝试从源目录中排除类文件,但只有Java(源)文件驻留在那里。你是想阻止这个类被构建,还是只是没有打包?排除java文件以防止它被构建,或者从输出目录而不是源目录中排除类文件。
答案 1 :(得分:0)
经过几次反复试验,我终于能够从我的jar中排除这个文件,如下所示。基本上我需要首先在jar
任务中拉出exclude语句。
jar {
zip64 true
exclude "abc/object/MyTestConfig*.class"
from((configurations.compile - configurations.jarDepends).collect { it.isDirectory() ? it : zipTree(it) }) {
exclude "META-INF/*.SF"
exclude "META-INF/*.DSA"
exclude "META-INF/*.RSA"
}
from ("$projectDir/src/main/java/") {
include "**/*.hbm.xml",
"abc/tools/xml/XMLClasses.MF"
}
}