【问题标题】:Issues with visibility of full configuration's vars in subproject's build.sbt子项目 build.sbt 中完整配置变量的可见性问题
【发布时间】:2014-02-13 06:43:30
【问题描述】:

这就是我们的项目结构

.
├── build.sbt
├── client
│   └── build.sbt
├── project
│   └── Build.scala
└── worker
    └── build.sbt

project/Build.scala

object Dependencies {
   val slf4jApi = slf4jGroup % slf4jModule("api") % slf4jVersion
   val elasticSearch = "org.elasticsearch" % "elasticsearch" % "0.90.7"
}

worker/build.sbt

import Dependencies._

distJvmOptions in Dist := "-Xms256M -Xmx1024M"

outputDirectory in Dist := baseDirectory.value / "target/dist"

libraryDependencies ++= Seq(
  slf4jApi,
  "org.elasticsearch" % "elasticsearch" % "0.90.7"
) 

worker 项目中的依赖项没有得到解决,我收到以下错误:

build.sbt:1: error: not found: object Dependencies 导入依赖项._ ^

我认为worker 项目中的build.sbtBuild.scala 中的Dependencies 对象没有可见性,但我不确定如何克服这个问题。有什么想法吗?

【问题讨论】:

  • 这是什么 SBT 版本?
  • 我的回答被批准了(谢谢!),但是我不知道,你的配置有什么问题?你想通了吗?你介意分享一下吗?
  • 所以问题是 gen-idea 没有在所有子项目/模块中生成源...我必须进入每个模块并单独生成源..我还删除了整个来自intellij的项目并再次重新导入..
  • 我不关注...gen-idea 如何影响完整构建配置变量的可见性?!你到底是什么时候面对build.sbt:1: error: not found: object Dependencies import Dependencies._ ^的?您能否显示以错误消息结尾的步骤?我不明白gen-idea 什么时候介入的。

标签: sbt


【解决方案1】:

以下配置对我来说效果很好,虽然我没有指出你的问题,但我在这里将其显示为参考。

由于client 对解决此特定问题没有兴趣,因此我们将其排除在外(尽管它在下面的build.sbt 中定义 - 没有为client 定义build.sbt)。

project/Build.scala

import sbt._

object Dependencies {
   val slf4jApi = "org.slf4j" % "slf4j-api" % "1.7.5"
}

build.sbt

lazy val client, worker = project

worker/build.sbt

import Dependencies._

libraryDependencies += slf4jApi

通过配置,sbt 显示:

[project-build]> sbtVersion
[info] worker/*:sbtVersion
[info]  0.13.1
[info] client/*:sbtVersion
[info]  0.13.1
[info] project-build/*:sbtVersion
[info]  0.13.1
[project-build]> projects
[info] In file:/Users/jacek/sandbox/so/project-build/
[info]     client
[info]   * project-build
[info]     worker
[project-build]> show worker/libraryDependencies
[info] List(org.scala-lang:scala-library:2.10.3, org.slf4j:slf4j-api:1.7.5)

这可能是因为您使用的是旧版本的 SBT(0.13 之前的版本)?

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2021-10-20
    • 1970-01-01
    • 2021-09-20
    • 2013-03-01
    • 2011-10-11
    • 1970-01-01
    • 1970-01-01
    • 2021-07-15
    相关资源
    最近更新 更多