我是新来的SBT,并试图建立一个多模块的项目。我遇到了一种情况,我希望有一个地方,我可以有一个地方,我可以定义版本的libs使用交叉模块。我尝试在根项目中创建一个自定义settingKey:
val akkaVersion = SettingKey[String]("Akka version used in our project")
name := "hello-app"
version in ThisBuild := "1.0.0"
organization in ThisBuild := "com.jaksky.hello"
scalaVersion := "2.10.4"
akkaVersion in ThisBuild:= "2.3.4"
// Common settings/definitions for the build
def OurProject(name: String): Project = (
Project(name, file(name))
)
lazy val common = (
OurProject("common")
)
lazy val be_services = (
OurProject("be-services")
dependsOn(common)
)在项目be服务中,我尝试了以下几点:
libraryDependencies ++= Seq(
"com.typesafe.akka" %% "akka-actor" % akkaVersion.value,
"com.typesafe.akka" %% "akka-cluster" % akkaVersion.value,
"com.typesafe.akka" %% "akka-kernel" % akkaVersion.value,
"com.typesafe.akka" %% "akka-remote" % akkaVersion.value,
"com.typesafe.akka" %% "akka-slf4j" % akkaVersion.value,
"ch.qos.logback" % "logback-classic" % "1.0.13"
)这里的要点是akkaVersion是不可见的(找不到akkaVersion-即错误消息)。
我的遗言:
我发现了以下可能性:
只是为了完成这幅图--使用SBT 0.13.5
我认为这是一个非常根本的问题,我不是第一个面临这个问题的人。
谢谢你帮我
发布于 2015-01-02 10:15:59
.sbt文件中的定义在其他.sbt文件中不可见。为了在.sbt文件之间共享代码,在构建根目录的项目/目录中定义一个或多个Scala文件。
from documentation [http://www.scala-sbt.org/]
https://stackoverflow.com/questions/27696908
复制相似问题