Shadow Jar 不包含依赖项到 fat jar
Shadow Jar doesn't include dependencies into fat jar
我是 Gradle 和 shadow jar (Gradle version of Maven's Shade plugin) 的新手。我正在构建一个 fat jar,我想在其中合并服务文件(这就是我首先使用 shadow jar 的原因)。
According to the documentation shadowJar 任务继承自 gradle Jar 任务。因此,人们会假设它会像 jar 任务一样工作。
这是 jar 任务的片段:
jar {
zip64 true
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}
因此,它生成了一个 fat jar,其中包含所有依赖项,这是预期的。当我将任务名称从 jar 更改为 shadowJar 时,如下所示:
shadowJar {
zip64 true
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}
我得到一个 jar 文件,其中只包含当前项目的文件,不包括依赖项。为什么会这样?
您不需要定义 from...
部分。该插件将自动包含所有依赖项。
我是 Gradle 和 shadow jar (Gradle version of Maven's Shade plugin) 的新手。我正在构建一个 fat jar,我想在其中合并服务文件(这就是我首先使用 shadow jar 的原因)。 According to the documentation shadowJar 任务继承自 gradle Jar 任务。因此,人们会假设它会像 jar 任务一样工作。
这是 jar 任务的片段:
jar {
zip64 true
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}
因此,它生成了一个 fat jar,其中包含所有依赖项,这是预期的。当我将任务名称从 jar 更改为 shadowJar 时,如下所示:
shadowJar {
zip64 true
from { configurations.runtime.collect { it.isDirectory() ? it : zipTree(it) }
}
我得到一个 jar 文件,其中只包含当前项目的文件,不包括依赖项。为什么会这样?
您不需要定义 from...
部分。该插件将自动包含所有依赖项。