我正在使用Gradle的分发插件打包我的java应用程序。我想做两个发行版,一个不包含JRE,另一个将JRE与应用捆绑在一起。我已经设置了一个copyJre任务,并且希望只有当copyJre任务在tasks图中时,才让Distributions插件包含一个文件夹(在下面的例子中是jre-8)。这是我的尝试,但不起作用。
distributions {
main {
contents {
from('/') {
include 'tools/**'
}
// my attempt to conditionally copy
// jre-8 directory only when tasks graph contains
// a task named 'copyJre'
if (tasks.findByName('copyJre') != null) {
from('../../jre-dist/') {
include 'jre-8/**'
}
}
}
}
}一般来说,可能应该有更好的方法。这看起来像是岩壁。
发布于 2020-04-17 22:44:28
从Gradle的角度来看,反过来你可以更好地表达你的需求:
https://stackoverflow.com/questions/61257398
复制相似问题