2014-02-12 2 views
0

Это как наша структура проектаПроблемы с видимостью Варс полной конфигурации в в build.sbt подпроекта

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

проект/Build.scala

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

работник/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: ошибка: не найдено: объект зависимости импорта Dependencies._ ^

Я думаю build.sbt в worker проект не имеет видимости для объекта Dependencies в Build.scala, но я не уверен, как преодолеть эту проблему. Есть идеи?

+0

Какая версия SBT? –

+0

Как мой ответ был одобрен (спасибо!), Я, однако, не знаю, в чем проблема была в вашей конфигурации? Вы поняли это? Не могли бы вы поделиться? –

+0

, так что проблема была генной идеей, которая не генерировала источники во всех подпроектах/модулях ... Мне приходилось входить в каждый модуль и генерировать источники по отдельности. Я также удалил весь проект из intellij и снова его повторно импортировал .. – lakshmi

ответ

0

Следующая конфигурация работала отлично для меня, и хотя я не указываю на проблему, я показываю ее здесь как ссылку.

Поскольку client не представляет интереса для решения этой конкретной проблемы, давайте оставим его (хотя это определено в build.sbt ниже - не build.sbt для client не было определено).

проект/Build.scala

import sbt._ 

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

build.sbt

lazy val client, worker = project 

работник/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)?

Смежные вопросы