jar - 当有重复的类时,Maven shade 插件是否会导致构建失败?

标签 jar maven-2 continuous-integration maven-plugin maven-shade-plugin

Maven shade plugin将项目的 Java 类及其依赖项合并到一个 über JAR 文件中。如果有任何重叠(例如,两个依赖项包含具有相同限定名称的类),它会发出警告并且(如果我理解正确的话)使用它遇到的该类的最后一个版本。

对我来说,这似乎有点太松懈了;这种重叠很容易在运行时导致链接或其他问题,例如当重叠的类包含不同的字节码时。

是否可以将 shade 插件配置为在存在重叠时使构建失败,而不仅仅是发出警告?这在 CI 服务器上特别有用,因为没有人在查看日志文件以查看是否有任何警告。

最佳答案

插件中似乎没有任何此类选项。我已经 logged an issue请求这个(更新:并提交了一个补丁,任何人都可以根据需要自行应用)。

关于jar - 当有重复的类时,Maven shade 插件是否会导致构建失败?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4435478/

相关文章:

maven-2 - 使用 Maven 创建 tar.gz 存档

android - Jenkins 无法存档调试 apk

git - 在 TFS2015 CI Build 中使用通配符输入 Git 分支过滤器

java - 如何将所有必需的 jar 放入最后一个 jar 中?

java - 如何使用maven制作可执行jar?

java - Maven 中的 Ejb3 依赖

continuous-integration - 在使用 Gitlab 进行持续集成时,FaSTLane 不适用于 Apple id 和双因素身份验证

java - 如何在 Eclipse 中使用自己的 MANIFEST.MF 构建 jar

maven - 如何将第三方 jar 添加到 Maven 中心

java - Maven 命令行选项有哪些?