不相干的scala库版本
发布时间:2020-12-16 18:45:19 所属栏目:安全 来源:网络整理
导读:我有一个警告,导致执行错误: [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]
我有一个警告,导致执行错误:
[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版本>.< Scala主要版本>无论当前配置的Scala版本是什么”. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |