使用Gradle构建具有依赖关系的jar我有一个多项目构建,我在一个子项目中设置了一个任务来构建一个胖罐。我创建的任务类似于食谱中描述的任务。jar {
from configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
manifest { attributes 'Main-Class': 'com.benmccann.gradle.test.WebServer' }}运行它会导致以下错误:原因:您无法更改未处于未解决状态的配置!我不确定这个错误意味着什么。我还在Gradle JIRA上报告了这个问题,以防它出现问题。
3 回答
蛊毒传说
TA贡献1895条经验 获得超3个赞
我在JIRA中针对Gradle 发布了一个解决方案:
// Include dependent libraries in archive.
mainClassName = "com.company.application.Main"jar {
manifest {
attributes "Main-Class": "$mainClassName"
}
from {
configurations.compile.collect { it.isDirectory() ? it : zipTree(it) }
}}请注意,mainClassName必须出现在BEFORE之前jar {。
繁星点点滴滴
TA贡献1803条经验 获得超3个赞
如果您希望jar任务正常运行并且有额外的fatJar任务,请使用以下命令:
task fatJar(type: Jar) {
classifier = 'all'
from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
with jar}重要的是with jar。没有它,这个项目的类不包括在内。
添加回答
举报
0/150
提交
取消
