gpt4 book ai didi

scala - 不连贯的scala库版本

转载 作者:行者123 更新时间:2023-12-04 16:43:04 25 4
gpt4 key购买 nike

我有一个警告,导致执行错误:

[info] Set current project to calculator (in build file:/home/guillaume/projects/scala/2/)
[info] Updating {file:/home/guillaume/projects/scala/2/}root...
[info] Resolving org.fusesource.jansi#jansi;1.4 ...
[info] Done updating.
[warn] Scala version was updated by one of library dependencies:
[warn] * org.scala-lang:scala-library:2.10.5 -> 2.11.1
[warn] To force scalaVersion, add the following:
[warn] ivyScala := ivyScala.value map { _.copy(overrideScalaVersion = true) }
[warn] Run 'evicted' to see detailed eviction warnings
[info] Compiling 3 Scala sources to /home/guillaume/projects/scala/2/target/scala-2.10/classes...
[success] Total time: 9 s, completed Apr 5, 2016 12:16:04 AM

这很奇怪,因为我的 Scala 版本 > 2.11 :
$ scala -version
Scala code runner version 2.11.8 -- Copyright 2002-2016, LAMP/EPFL
$sbt sbtVesion
[info] 0.13.9

我的 build.sbt :
lazy val root = (project in file(".")).
settings(
name := "calculator",
libraryDependencies += "jline" % "jline" % "2.12",
libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.4"
)

我只是不明白为什么我的 Scala 库已经过时了。

最佳答案

您的 SBT 构建使用的 Scala 版本由您的 SBT 配置决定,而不是您的系统 Scala 版本。 SBT 0.13 的默认 Scala 版本是 2.10,但您可以使用以下设置更改它 build.sbt :

scalaVersion := "2.11.8"

您的 SBT 项目的 Scala 版本不依赖于您的系统 Scala 版本(如果有的话)这一事实实际上非常方便——这意味着您可以拥有为多个 Scala 版本交叉构建的项目,您可以在其上构建项目没有安装 Scala 的机器等。

另一个注意事项——使用 %% 避免这种不匹配是一个好主意。 Scala 依赖项的语法——例如这个:
libraryDependencies += "com.typesafe.akka" %% "akka-actor" % "2.3.4"

取而代之的是:
libraryDependencies += "com.typesafe.akka" % "akka-actor_2.11" % "2.3.4"
%%在工件名称之前显示“使用此名称但后缀 _<Scala epoch version>.<Scala major version>,无论当前配置的 Scala 版本是什么”。

关于scala - 不连贯的scala库版本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/36413935/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com