6

我正在使用 SBT 构建一个 java 项目,并且需要复制文本文件(不是资源,而是由 java 类用来读取)。我对 SBT 或 Scala 都没有经验(需要 build.scala 文件)任何帮助将不胜感激。

例如,如果我的目录结构是:

test
    |- files
            |- one.text
    |- main
            |- java
                   |- Test.java

一旦执行 sbt 目标,我希望目标文件夹中的 one.text 文件也可用

sbt test
4

1 回答 1

4

build.sbt 中的以下几行应该可以解决问题:

unmanagedResourceDirectories in Test <+= (baseDirectory) {_ / "files"}

unmanagedSourceDirectories in Test <+= (baseDirectory) {_ / "main" / "java"}

你有一个非标准的项目布局。如果您可以将其更改为标准的“maven 样式”:

project/src/main/java
project/src/main/resources
project/src/test/java/{Test.java, ...}
project/src/test/resources/{one.text, ...}

sbt 会自动进行资源复制。

于 2012-10-19T10:56:54.760 回答