SBT Scala版本警告

时间:2016-04-27 16:16:57

标签: scala sbt

在进行sbt build时,我开始看到以下警告消息:

[warn] Scala version was updated by one of library dependencies:
[warn]  * org.scala-lang:scala-library:(2.11.1, 2.11.7, 2.11.2, 2.11.6, 2.11.5, 2.11.0) -> 2.11.8
[warn] To force scalaVersion, add the following:
[warn]  ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
[warn] Run 'evicted' to see detailed eviction warnings

这是为什么?我是在0.13.11!

sbt版本有什么变化吗?我想我之前在0.13.5,并没有看到这种警告!

2 个答案:

答案 0 :(得分:10)

这意味着您的项目定义了一个小于2.11.8的Scala版本,但是sbt决定将其增加到2.11.8,因为其中一个依赖项使用该版本。它不重要,因为这些版本是二进制兼容的。我想它会警告你,因为你可能故意使用较小的版本,因为有些回归,在这种情况下你需要使用解释来强制使用较小的Scala版本。在其他情况下,只需忽略警告或将项目的Scala版本增加到最新版本(2.11.8)。

答案 1 :(得分:2)

我不确定添加/更改Scala版本是否良性。所以我只是将以下内容添加到我的build.sbt中以消除警告:

evictionWarningOptions in update :=
  EvictionWarningOptions.default
    .withWarnTransitiveEvictions(false)
    .withWarnDirectEvictions(false)
    .withWarnScalaVersionEviction(false)