完整配置的可见性问题';子项目中的变量';s build.sbt

完整配置的可见性问题';子项目中的变量';s build.sbt,sbt,Sbt,这就是我们的项目结构 . ├── build.sbt ├── client │ └── build.sbt ├── project │   └── Build.scala └── worker └── build.sbt project/Build.scala object Dependencies { val slf4jApi = slf4jGroup % slf4jModule("api") % slf4jVersion val elasticSearch = "o

这就是我们的项目结构

.
├── 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"
}
import sbt._

object Dependencies {
   val slf4jApi = "org.slf4j" % "slf4j-api" % "1.7.5"
}
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"
) 
lazy val client, worker = project
import Dependencies._

libraryDependencies += slf4jApi
worker
项目中的依赖项未得到解决,我得到以下错误:

build.sbt:1:错误:未找到:对象依赖项 导入依赖项_ ^


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

以下配置对我来说很好,尽管我没有指出您的配置中的问题,但我在这里将其显示为参考

由于
client
对解决这个特定问题不感兴趣,所以我们将其略去(尽管它是在下面的
build.sbt
中定义的-没有
build.sbt
client
定义的)

project/Build.scala

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

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

import Dependencies._

distJvmOptions in Dist := "-Xms256M -Xmx1024M"

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

libraryDependencies ++= Seq(
  slf4jApi,
  "org.elasticsearch" % "elasticsearch" % "0.90.7"
) 
lazy val client, worker = project
import Dependencies._

libraryDependencies += slf4jApi
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"
) 
lazy val client, worker = project
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版之前的版本)?

这是什么SBT版本?由于我的答案已获得批准(谢谢!),但我不知道,您的配置中存在什么问题?你明白了吗?你介意分享吗?问题是gen idea没有在所有子项目/模块中生成源代码…我必须进入每个模块并单独生成源代码..我还从intellij中删除了整个项目并再次导入..我不明白..gen idea如何影响完整构建的可见性配置的变量?!您到底是什么时候面对
build.sbt:1:错误:找不到:对象依赖项导入依赖项。^
?您能否显示以错误消息结尾的步骤?我不明白是什么时候
genidea
介入的。