如何解决传递依赖版本冲突(scala / sbt)
发布时间:2020-12-14 04:51:43 所属栏目:百科 来源:网络整理
导读:我有一个包含多个实用程序类的项目.我们将它命名为Utils. 我有一个依赖于Utils的proj1.另一个proj2依赖于proj1和Utils. 问题是如果proj1和proj2都依赖于不同的Utils版本,这将导致问题. 什么是最好的解决方案? 这种情况发生在Scala / SBT项目中,但我猜其他语
我有一个包含多个实用程序类的项目.我们将它命名为Utils.
我有一个依赖于Utils的proj1.另一个proj2依赖于proj1和Utils. 问题是如果proj1和proj2都依赖于不同的Utils版本,这将导致问题. 什么是最好的解决方案? 这种情况发生在Scala / SBT项目中,但我猜其他语言也有同样的问题.
解决方法
这是经典的
Jar Hell,它是任何基于JVM的项目的问题,而不仅仅是scala与sbt.
有4种常见的解决方案 >通过更改代码来消除冲突,将多个版本依赖项合并到一个依赖项中.>阴影(如上所述@Sean Viera)>像OSGI一样的多个ClassLoader组件架构(如@tuxdna所述)>运行在单独的JVM中,如微服务架构(@tuxdna也提到) (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
相关内容
- postgresql hstore key / value vs传统的SQL性能
- [7]Cocos2d-x之碰撞区域发生偏移
- 使用依赖注入的.NET Framework对象?
- 单片机系列的识别
- blueprint-osgi – 如何导入osgi blueprint xml
- c# – 使用WMI来识别哪个设备导致Win32_DeviceChangeEvent
- c# – 无法将类型’System.Collections.Generic.List>’隐式
- 在Oracle Linux 7上通过官方Repo在线安装SQL Server 2017
- (二)碎碎念接口优化--fastjson版本兼容问题
- 基于MTD的NAND驱动开发(二)