【发布时间】:2014-07-21 05:27:05
【问题描述】:
这是我的任务:
task uberJar(dependsOn: [classes], type: Jar) {
from files(sourceSets.main.output.classesDir)
from files(sourceSets.main.output.resourcesDir)
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}
manifest {
attributes 'Main-Class': 'cli'
}
}
这是一个非常简单的项目,它只是将一个 groovy 脚本构建成一个独立的可执行 jar 文件。我知道 Groovy 代码有效。当我尝试在生成的 jar 文件上运行 java -jar 时,它说找不到我知道包含的文件。于是我展开jar文件,发现有几个包被打了。这是我找到的文件夹结构:
知道为什么要这样做吗?此任务基于我在各处找到的一个常见任务,该任务是关于如何使用 Gradle 构建具有所有依赖项的 jar。
【问题讨论】: