首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >关于使用maven打包war时多依赖jar版本最佳实践的问题

关于使用maven打包war时多依赖jar版本最佳实践的问题
EN

Stack Overflow用户
提问于 2022-03-08 18:34:07
回答 1查看 37关注 0票数 0

我有一个带有子模块的maven war项目。一个模块使用google-api-client,另一个模块使用google-cloud-storage。我在下面绘制了它们的一些依赖项。

代码语言:javascript
运行
复制
A
|-google-api-client:jar:1.33.1
  |-google-http-client-gson:jar:1.41.1

B
|-google-cloud-storage:jar:2.4.4
  |-google-api-client:jar:1.33.1
  |-google-http-client-gson:jar:1.41.2

当打包战争时,gson 1.41.11.41.2都将被打包。我知道maven有一个最近的规则来确定编译时使用哪个jar。但是,当when服务器加载我的项目时,我无法控制首先将哪个jar加载到哪个jar。所以我只想为每个罐子保留一个更新的版本。

我知道我可以将<exclusion>标记添加到依赖项中,并添加一个新的依赖项来告诉maven使用特定版本的jars。但是,我不确定这是否是最佳实践,因为它要求我遍历第三方库的依赖关系。他们太多了。

对于如何正确处理多个版本的jars,有什么建议吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2022-03-08 19:51:42

我推荐的一个好做法是使用具有依赖收敛目标的执行器插件。这样,您就不得不决定哪个版本将出现在类路径上。当然,这可能是额外的工作,因为您必须处理冲突(也是通过设置排除),但最终它是很好定义的,您得到了哪些版本。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71399945

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档