我在{project_home} / src / test / groovy /
中进行了一些功能测试我希望能够使用gradle任务:
从{project_home} / src / test / groovy /下的所有.groovy文件中创建一个jar文件,包括所有依赖项
能够运行此jar文件作为运行单个groovy文件的替代
我遇到的所有例子都有一个主方法,我没有main()
所以我尝试使用“Project”的build.gradle并附加
task fatJar(type: Jar) {
baseName = project.name + '-all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar
}
并运行$gradle clean fatJar
但编译失败了:
:Tests:EndToEndFunctionalTests:fatJar FAILED
FAILURE: Build failed with an exception.
* What went wrong:
Execution failed for task ':Tests:EndToEndFunctionalTests:fatJar'.
> archive contains more than 65535 entries.
To build this archive, please enable the zip64 extension.
See: https://docs.gradle.org/2.7/dsl/org.gradle.api.tasks.bundling.Zip.html#org.gradle.api.tasks.bundling.Zip:zip64
我在/ build / libs
下有jar文件答案 0 :(得分:3)
task uberJar(type: Jar,dependsOn:[':compileGroovy']) {
zip64 true
from files(sourceSets.main.output.classesDir)
from configurations.runtime.asFileTree.files.collect {zipTree(it) }
with jar
}
解决了这个问题。