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.完全靠凑.
所以这种警告不要完美主义,
尤其是大家上班的时候,基本就是给自己无缘无故增加工作量.