sbt:将资源复制到多项目构建中的类路径

时间:2015-08-25 15:56:32

标签: sbt unmanagedresources

我有一个具有以下结构的sbt项目:

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

project聚合serverProjectclientProject。开始sbt和编译工作正常。

运行或打包serverProject时,我希望file.jsonserverProject的类路径结束。

我为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 个答案:

答案 0 :(得分:1)

我能够解决我的问题!将以下设置添加到serverProject时,它按预期工作:

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