SBT를 처음 사용하고 다중 모듈 프로젝트를 설정하려고합니다. 나는 전체 모듈에 사용되는 libs에 대한 버전을 정의 할 수있는 단일 장소를 원한다. 나는 사용자 정의 settingKey을 만드는 다음 시도 - 루트 프로젝트에 : 나는 다음과 같은 시도sbt 다중 모듈 프로젝트 글로벌 버전 설정
프로젝트에서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)
)
수-서비스 :
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이 보이지 않는 것입니다 - 그것이 오류 메시지입니다.)
내 questins :
- 이 설정이 모듈을 건너 공유 맵? 설명 된 문제는 아마도 답변 일 것입니다 -> NO
- 이 상황에서 가장 좋은 방법은 무엇입니까?
- 스칼라 객체 잡고 문자열 상수 :
나는 다음과 같은 가능성을 발견했다. 프로젝트 버전이 build.sbt에 지정되어 있으므로 종속 libs가 project/GlobalVersions.scala의 어딘가에 숨겨져 있어야하는 이유는 다소 부담 스럽습니다.
를 사용하여 -