如何将依赖包打包到输出jar?

时间:2015-08-29 22:10:42

标签: java intellij-idea gradle jar

我正在尝试让我的应用程序在一个独立的jar中工作。问题是,为我的程序生成了一个jar,并为库生成了一堆其他jar。有没有办法让这些罐子进入其中?如果有帮助,我正在使用Gradle。

IntelliJ IDEA工件配置:

enter image description here

输出目录:

enter image description here

我期望(并希望)发生的事情:

enter image description here

1 个答案:

答案 0 :(得分:1)

你需要一个胖jar(jar文件中包含所有它的依赖项)。对于Gradle来说这不是一个大问题,你只需要创建一个jar类型的额外任务,它将收集所有依赖项并将其全部压缩

有很多例子,你如何做到,here is one of them。仔细看看任务fatJar:

task fatJar(type: Jar) {        
  baseName = project.name + '-all'
  from { configurations.compile.collect { it.isDirectory() ? it : zipTree(it) } }
  with jar
}