我有一个关于 gradle java 项目的新手问题。我希望将其输出工件 jar 配置为仅包含我项目中的某些类。我将所需的类包含在一个文件中,例如作为单独任务的一部分生成的 classes.txt
。应该如何配置 gradle 构建的 jar
任务才能做到这一点。到目前为止,这是我尝试过的:
jar {
// reset actions
actions = []
copy {
def dependentClasses = file("classes.txt")
if (dependentClasses.exists()) {
dependentClasses.eachLine { include it }
}
from sourceSets.main.output
includeEmptyDirs = false
into "build/tmp/jar" //Some temporary location
}
// How to zip the contents?
}
对于这个可能幼稚的问题,我深表歉意,但我并没有遇到其他解决方案。
谢谢!
最佳答案
可以通过以下方式实现:
apply plugin: 'java'
jar {
def excluded = project.file('classes.txt').readLines()
exclude { f ->
excluded.any { e -> f.path.replaceAll(File.separator, '.').contains(e) }
}
}
可以找到Demo here , Lol1.class
将被排除。
关于java - 在 gradle 构建中将特定类包含在 jar 存档中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32081741/