如何在一个简单的JAR中JAR一个文件夹及其所有子目录和文件? 我尝试了类似的方法,但它不起作用。
task jarVrCore(type: Jar, description: 'JARs core part of the project') {
doLast {
archiveName = "vasasdasasdasd"
from "${projectDir}"
println "${vrCoreSourceDir}"
destinationDir = file("${dirTmpLibsVr4}")
}
}
我总是只用清单来得到一个空的JAR。
答案 0 :(得分:2)
问题在于您所有的任务配置都为时已晚。您正在使用doLast
闭包,该闭包在实际任务操作之后执行(对于Jar
任务,是.jar
文件的创建)。 >
通常,所有任务配置都直接在任务配置闭包内部完成:
task jarVrCore(type: Jar, description: 'JARs core part of the project') {
archiveName = "vasasdasasdasd"
from "${projectDir}"
println "${vrCoreSourceDir}"
destinationDir = file("${dirTmpLibsVr4}")
}
如果在执行其他任务后需要应用配置,请使用doFirst
闭包。
请注意,使用上面的示例,println
语句将在配置阶段中执行,因此,在每次Gradle调用中,是执行任务jarVrCore
还是执行任务csh
不是。