【发布时间】:2021-02-27 16:48:58
【问题描述】:
可以通过在本地存储库中安装 jar 文件或提供本地 jar 链接并将范围设置为“系统”来在 pom.xml 中包含本地文件。 如果我包含一个胖 jar(= 一个包含所有传递依赖项的 jar)会发生什么? Maven 是否仍然能够正确检测依赖冲突,我是否仍然能够排除我的“胖 jar 依赖”的一些传递依赖?
问题是我正在处理一个遗留软件项目,该项目之前没有使用任何构建工具/依赖项管理工具(所以所有需要的 jar 都只是下载并添加到类路径中)。我正在尝试将其转换为 Maven 项目。这对于所有开源依赖项来说都不是很困难(因为几乎所有这些依赖项都可以在 Maven Central 或其他存储库中获得)。在某些情况下,我们拥有很久以前获得的专有库,并且可以作为 fat jar 使用。
maven shade 插件在这种情况下会有帮助吗?
【问题讨论】:
标签: java maven jar dependency-management maven-shade-plugin