我刚开始使用 Scala 和 Play,我正在尝试使用 sbt 0.13.5 设置多构建
我的项目结构如下:
/AnormCypher
-> /src
->/main
->/scala
->org.anormcypher[package]
->[Some classes]
-> [other dirs/files]
-> build.sbt
/sample
-> /src
->/main
->/scala
->/controllers[package]
->Application.scala
->[Some classes]
-> [other dirs/files]
-> build.sbt
示例项目依赖于 AnormCypher 项目。我尝试在 this SO post 之后设置依赖项。我在示例中的 build.sbt 如下所示:
name := """sample"""
version := "1.0-SNAPSHOT"
lazy val root = (project in file(".")).enablePlugins(PlayScala)
scalaVersion := "2.11.1"
libraryDependencies ++= Seq(
jdbc,
anorm,
cache,
ws
)
lazy val core = ProjectRef(file("../AnormCypher"), "anormcypher")
val main = root.dependsOn(core)
当我进入我的控制台并输入
activator
sbt 能够加载项目。但是当我尝试编译源代码并尝试使用 org.anormcypher 包中的类时,它们无法解决:
object anormcypher is not a member of package org
[error] import org.anormcypher._
[error] ^
运行
clean compile
也没有结果。 最佳答案
改变
lazy val root = (project in file(".")).enablePlugins(PlayScala)
至
lazy val root = (project in file(".")).enablePlugins(PlayScala).dependsOn(core)
并删除
val main = root.dependsOn(core)
reload
和项目应该可以正常工作。关于scala - 如何引用外部本地 sbt 项目设置多模块构建?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/24262952/