需要帮助获得sbt 0.10在Ubuntu上选择scala 2.9.1.final的本地副本

时间:2011-09-22 04:03:53

标签: scala sbt

到目前为止我所拥有的:

.bashrc
  2 PATH=/opt/scala-2.9.1.final/bin:$PATH
  3 PATH=/opt/sbt:$PATH

所以我的scala-2.9.1.final版本在/ opt文件夹中。 sbt 0.10也是如此。

我试图让它选择我的2.9.1.final而不是2.8。我试过看。

到目前为止我所做的是在projectname / boot /目录中放置符号链接。

ln -s /opt/scala-2.9.1.final scala-2.9.1.final

但它似乎不起作用?我也试过这个build.sbt(https://github.com/VonC/xsbt-template/blob/master/build.sbt)并将版本更改为2.9.1.final。

如何让sbt>控制台使用2.9.1.final?它是如何使用2.9.1.final构建的?

这是我输入sbt时的结果:

user@acomputer:~/project/sbt$ sbt
[info] Set current project to default-295917 (in build file:/home/user/project/sbt/)
> 

感谢您的时间。

2 个答案:

答案 0 :(得分:3)

我没有经验的sbt用户,可能只是建议。似乎sbt 0.10.x使用scala 2.8.1本身,所以我认为sbt控制台默认使用此版本。

但你可以通过在build.sbt文件中指定scala版本来构建目标为2.9.1的项目:`scalaVersion:=“2.9.1”'(参见https://github.com/harrah/xsbt/wiki / Setup“ConfigureBuild”)

此外,您还可以通过在sbt提示符下键入“++ 2.9.1”来切换sbt控制台使用的scala版本。 (见https://github.com/harrah/xsbt/wiki/Running

答案 1 :(得分:1)

以下是我的一个项目中build.sbt的示例。

organization := "com.andyczerwonka"

name := "esi.intelligence"

version := "0.1"

scalaVersion := "2.9.1"

retrieveManaged := false

logLevel := Level.Info

jettyScanDirs := Nil

seq(webSettings :_*)

temporaryWarPath <<= (sourceDirectory in Compile)(_ / "webapp")

libraryDependencies ++= {
  val liftVersion = "2.4-M4"
    Seq(
  "net.liftweb" %% "lift-webkit" % liftVersion % "compile->default",
      "net.liftweb" %% "lift-mapper" % liftVersion % "compile",
      "org.eclipse.jetty" % "jetty-webapp" % "7.3.0.v20110203" % "provided,jetty",
      "junit" % "junit" % "4.8" % "test",
      "ch.qos.logback" % "logback-classic" % "0.9.26",
      "org.specs2" %% "specs2" % "1.6.1" % "test",
      "net.databinder" %% "dispatch-http" % "0.8.5",
      "com.h2database" % "h2" % "1.2.138"
    )
  }

注意第4行。这告诉我想要使用2.9.1。 sbt将为我带来并使用它。