【问题标题】:project directory for sbt sub-projectssbt 子项目的项目目录
【发布时间】: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 中没有正确解析

【问题讨论】:

    标签: scala sbt


    【解决方案1】:

    是的,他们可以,甚至不需要sub-projects 目录,只需将sub-project-1 放在my-project 目录中即可。

    【讨论】:

    • 我已更新问题以添加更多信息。你能告诉我出了什么问题吗?
    【解决方案2】:

    通常(至少这是 scala/scala-seed.g8 的结尾)项目子目录不会像您的目录结构那样以额外的 s 结尾。

    您应该将projects 重命名为project

    【讨论】:

      【解决方案3】:

      很遗憾,答案是否定的。如所见here

      子项目中不能有项目子目录或 project/*.scala 文件。 foo/project/Build.scala 将被忽略。

      【讨论】:

        猜你喜欢
        • 2017-02-28
        • 2012-07-10
        • 2019-07-28
        • 1970-01-01
        • 2011-04-18
        • 2018-03-13
        • 1970-01-01
        • 1970-01-01
        • 2020-09-17
        相关资源
        最近更新 更多