设置“unmanagedResourceDirectories”会中断“resourceDirectory”中的资源部署

Setting `unmanagedResourceDirectories` breaks deployment of resources from `resourceDirectory`

我的设置有点奇怪。我的 Java 来源位于 /src

Java 类 旁边有 .properties 个文件。我希望将它们打包到最终 jar 中。

Scala 源和资源遵循 SBT 约定,位于 /srcnew/main/[scala|resources]

这是我的 build.scala 的样子

sourceDirectory := baseDirectory.value / "srcnew",
unmanagedResourceDirectories in Compile := Seq(baseDirectory.value / "src"),
includeFilter in unmanagedResources := "*.properties",
javaSource in Compile := baseDirectory.value / "src",

即使 resourceDirectory 仍然指向 /srcnew/main/resources 资源也不会进入最终 jar(使用 sbt-assembly 构建)。

我也试过了

unmanagedResourceDirectories  := Seq(baseDirectory.value / "src", baseDirectory.value / "srcnew/main/resources"),

令人惊讶的是,它也没有帮助。

原来问题出在行

includeFilter in unmanagedResources := "*.properties"

应该是

includeFilter in unmanagedResources := ((includeFilter in unmanagedResources).value || "*.properties") -- "*.java",

我唯一不明白的是为什么 unmanagedResources 上的过滤器会影响 resourceDirectory。有人知道吗?