【发布时间】:2016-06-03 10:46:43
【问题描述】:
sbt 子项目可以有自己的project 目录吗?还是只有根项目可以使用 .scala 帮助文件的项目目录进行构建?。以下是我当前的构建结构。 /my-project/sub-projects/sub-project-1/build.sbt 无法访问/my-project/sub-projects/sub-project-1/SubProjectHelper.scala 中定义的对象。
/my-project
build.sbt
/projects
Helper.scala
sub-projects
sub-project-1
build.sbt
/projects
SubProjectHelper.scala
更新: sub-project-1/build.sbt 中的以下 sbt 定义
lazy val localhost = (project in file(".")).settings (
name := """localhost""",
version := Common.version,
scalaVersion := Common.scalaVersion,
libraryDependencies ++= Common.dependencies,
libraryDependencies ++= Localhost.dependencies
)
因以下错误而失败
libraryDependencies ++= Localhost.dependencies
^
sbt.compiler.EvalException: Type error in expression
at sbt.compiler.Eval.checkError(Eval.scala:384)
at sbt.compiler.Eval.compileAndLoad(Eval.scala:183)
at sbt.compiler.Eval.evalCommon(Eval.scala:152)
at sbt.compiler.Eval.evalDefinitions(Eval.scala:122)
at sbt.EvaluateConfigurations$.evaluateDefinitions(EvaluateConfigurations.scala:271)
at sbt.EvaluateConfigurations$.evaluateSbtFile(EvaluateConfigurations.scala:109)
at sbt.Load$.sbt$Load$$loadSettingsFile$1(Load.scala:712)
Common 在 /my-project/projects/Common.scala 中定义,没有问题。但是 Localhost 是在 /my-project/sub-projects/sub-project-1/projects/SubProjectHelper.scala 中定义的,在 sub-project-1 build.sbt 中没有正确解析
【问题讨论】: