multiple versions of scala libraries detected解决方案

本文介绍了解决Maven项目中Scala多版本库冲突的方法。通过在pom.xml中精确指定各依赖的Scala版本,确保所有依赖库版本统一,避免编译警告。文章详细解释了如何查找并替换不匹配的Scala版本依赖。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

multiple versions of scala libraries detected
这个问题是在maven运行的时候出来的.
具体信息如下:

[WARNING]  Expected all dependencies to require Scala version: 2.11.8
[WARNING]  scalalearn:scalalearn:1.0-SNAPSHOT requires scala version: 2.11.8
[WARNING]  com.twitter:chill_2.11:0.8.4 requires scala version: 2.11.8
[WARNING]  org.apache.spark:spark-core_2.11:2.3.1 requires scala version: 2.11.8
[WARNING]  org.json4s:json4s-jackson_2.11:3.2.11 requires scala version: 2.11.0
[WARNING] Multiple versions of scala libraries detected!

首先注意~!!
没有标准答案,下面的解决方案必须理解原理:
我们看到上面的
org.json4s:json4s-jackson需要的是scala2.11.0的对吧,然后与其他版本的scala版本不一致,怎么办呢?
在pom.xml中加入

<dependency>
    <groupId>org.json4s</groupId>
    <artifactId>json4s-jackson_2.11</artifactId>
    <version>3.5.0</version>
</dependency>

有人问了,你怎么知道上面的这个依赖刚好是2.11.8?
答案是:
不知道!完全靠尝试出来的.
扯白了就是
https://mvnrepository.com/artifact/org.json4s/json4s-jackson
中你不停更换pom部分的依赖描述.

修改完后,重新运行:
mvn clean scala:compile package

你会发现新的警告又出来了,报告另外一个依赖包所需要的scala版本与其他scala版本不一致,那么这个时候你就又要进行上面的工作了,
总之一句话:
警告啥,你就在pom.xml中添加啥,至于哪个版本刚好是2.11.8.完全靠凑.

所以这种警告不要完美主义,
尤其是大家上班的时候,基本就是给自己无缘无故增加工作量.

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值