我正在使用intellij 2018.2 CE, 对于一个scala 2.12.7项目,在同一projet中对spire 0.14.1和breeze 0.13.2的依赖完全使intellij混淆了我的代码中使用的spire.algebra类型类(Ring,Order,Eq,Semiring等)(符号不能被发现)
使用SBT进行命令行构建可以正常工作。
我注意到breeze提供了自己的Semiring,Ring类型类,并且对spire 0.13.0有依赖关系,这对于scala 2.12.x来说并没有任何意义,但是我在命令行SBT构建中没有得到依赖关系冲突警告。
任何帮助表示赞赏
答案 0 :(得分:1)
例如,由于类加载或索引顺序的差异,它有可能在sbt中偶然起作用。如果存在不兼容的版本冲突,最好手动排除sbt中的依赖项。
例如:
libraryDependendencies += "org.scalanlp" %% "breeze" % "0.13 exclude("org.spire-math", "spire")