2015-08-25 7 views
1

У меня есть SBT проект со следующей структурой:SBT: скопировать ресурсы на пути к классам в нескольких проекте построить

project 
| 
|-- file.json 
|-- <serverProject> 
|-- <clientProject> 

project агрегаты как serverProject и clientProject. Запуск sbt и компиляции отлично работает.

При запуске или упаковке serverProject Я хочу, чтобы file.json закончил путь по классу serverProject.

Я добавил file.json к unmanagedResources in (Compile) для serverProject, но при попытке запустить я получаю следующее сообщение об ошибке/пакет:

[info] Done packaging. 
java.lang.RuntimeException: Duplicate mappings: 
    project/serverProject/target/scala-2.11/classes/file.json 
from 
    file.json 
     project/serverProject/file.json 
    at scala.sys.package$.error(package.scala:27) 
    at sbt.Sync$.noDuplicateTargets(Sync.scala:67) 
    ... 

Похоже, SBT находит как корневой каталог проекта и каталог serverProject в качестве кандидатов для file.json, после чего он не работает.

Как обойти эту ошибку?

Спасибо за чтение и помощь!

ответ

1

Я смог решить мою проблему! При добавлении следующей настройки в serverProject она работает как ожидалось:

unmanagedResources in (Compile) ++= Seq(file(baseDirectory.value.getParentFile.getAbsolutePath + "/file.json"))