使用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
提交
取消