首页 文章

Shadow Jar不包含对fat jar的依赖

提问于
浏览
0

我是Gradle和阴影 jar 的新手(Gradle version of Maven's Shade plugin) . 我正在构建一个胖jar,我想在其中合并服务文件(这就是我首先使用shadow jar的原因) . According to the documentation shadowJar任务继承自gradle Jar任务 . 因此,人们会认为它将完全像jar任务一样工作 .

这是jar任务的片段:

jar {
    zip64 true
    from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}

结果,它产生了一个胖 jar ,所有的依赖关系都爆炸了,这是预期的 . 当我将任务名称从jar更改为shadowJar时,如下所示:

shadowJar {
    zip64 true
    from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}

我得到一个jar文件,其中只包含当前项目中的文件,排除了依赖项 . 为什么会这样?

1 回答

  • 3

    您无需定义 from... 部分 . 该插件将自动包含所有依赖项 .

相关问题