18

sbtビルドに複数のプロジェクトがあります。2.9.1からScala2.10にアップグレードしようとしているので、build.sbtファイルに

scalaVersion := "2.10.0"

sbtのトップレベルのプロジェクトでは、次のようになるため、これは機能しているように見えました。

> scala-version
[info] 2.10.0  

ただし、他のプロジェクトの1つに切り替えると、次のようになります。

> project web-client
[info] Set current project to web-client (in build file:/C:/Users/...
[web-client] $ scala-version
[info] 2.9.1  

バージョンが2.9.1に戻ったことがわかります。すべてのプロジェクトで同じScalaバージョンを強制的に使用するにはどうすればよいですか?

4

2 に答える 2

25

scalaVersionをThisBuildにスコープすると、すべてのサブプロジェクトに設定されることがわかりました。詳細はここにあります:下部にあるhttp://www.scala-sbt.org/release/docs/Getting-Started/Multi-Project.htmlですが、ここにそれが言っていることです:

一度だけ設定するには、メインのbuild.sbtファイルに次の行を書き込むだけで十分です。

scalaVersion in ThisBuild := "2.10.0"
于 2013-01-30T04:15:14.627 に答える
6

SBTにはデフォルトのScalaバージョンがあります。scalaVersion変更する場合は、すべてのサブプロジェクトに設定を追加する必要があります。これを行う最も一般的な方法は、ルートレベルですべてのプロジェクトに追加される「共通設定」値を使用することですproject/Build.scala

于 2013-01-28T22:25:41.473 に答える