我使用影子 jar 插件 ( https://github.com/johnrengelman/shadow ) 创建一个额外的 jar 文件,其中包含我所有的依赖项。我还想保留只有我的代码和资源的默认生成的 jar。在发布 jar 之前,这非常简单明了。
由于我的影子 jar 里面有它的所有 deps,它的 pom 文件在发布方面对我来说不是优先事项。但是,如果我按照 shadowJar 插件文档中的说明进行操作(https://imperceptiblethoughts.com/shadow/publishing/#publishing-with-maven-publish-plugin)
publishing {
publications {
shadow(MavenPublication) { publication ->
project.shadow.component(publication)
}
}
我最终得到了两个不同的 pom 文件(一个用于常规 jar 文件,一个用于影子 jar)发布到同一个URL,其中一个覆盖另一个。此行为会导致客户下载默认 jar,但 pom 文件中没有任何依赖项。
我尝试了很多方法来禁用 shadowJar pom 文件,但没有任何成功。我如何让它工作?