首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Scala SBT: scala编译器版本

Scala SBT: scala编译器版本
EN

Stack Overflow用户
提问于 2011-02-25 03:06:05
回答 2查看 3.8K关注 0票数 12

我知道scala库存在于Scala2.8中:

代码语言:javascript
复制
[info] Building project chart 1.0 against Scala 2.8.1
[info]    using sbt.DefaultProject with sbt 0.7.4 and Scala 2.7.7

所以我怎么会得到这个错误:

代码语言:javascript
复制
[error] /src/main/scala/Chart.scala:2: value swing is not a member of package scala
[error] import scala.swing.Panel

是因为SBT使用了scala的错误版本(即2.7.7)吗?如果是,如何将其配置为使用正确的版本?

编辑:应答

Dylan Lacey's answer之后,我创建了以下文件sbt/project/build/chart.scala

代码语言:javascript
复制
import sbt._

class SamplesProject(info: ProjectInfo) extends DefaultProject(info)
{
   val scalaSwing = "org.scala-lang" % "scala-swing" % "2.8.1"
}

然后我跑了:sbt reload update从外壳。

现在一切都在编译!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2011-02-25 04:10:23

不是的。第2行中报告的版本信息只是使用版本sbt构建的,不会影响您的构建。

因为Swing是一个包(不是基类的一部分),所以我怀疑这是两个问题之一。以下任一项:

  1. 您的构建文件并没有指定要使用swing,而是感到困惑。您可以通过添加以下内容来纠正这种情况:

val scalaSwing = "org.scala-lang" % "scala-swing" % "packageVersion"

在您的/project/build/projectName.scala (谢谢,Janx!)

  • 中,您添加了依赖性,但尚未下载所需的包。为此,需要sbt重新加载项目定义,然后获取所有必需的包:

sbt reload update

如果您需要选项1,则可能还需要执行选项2。

如果这两项工作都没有完成,那么您可能对本地资源库产生了可怕的困惑。这可以用一个sbt clear-lib来修复,但是你会重新下载你所有的软件包。

票数 9
EN

Stack Overflow用户

发布于 2011-08-27 11:35:09

对于SBT0.11(大概是0.10),将以下内容添加到build.sbt中就可以做到这一点:

代码语言:javascript
复制
libraryDependencies <+= scalaVersion { "org.scala-lang" % "scala-swing" % _ }
票数 15
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5113152

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档