设置 `unmanagedResourceDirectories` 会中断 `resourceDirectory` 中的资源部署 [英] Setting `unmanagedResourceDirectories` breaks deployment of resources from `resourceDirectory`
问题描述
我的设置有点奇怪.我的 Java 源代码位于/src
I have a little bit odd setup. My Java sources are located at
/src
在某些 Java 类旁边有 .properties
文件.我希望它们被打包到最终的罐子里.
There are .properties
files next to some Java classes. I want them to be packaged to final jar.
Scala 源代码和资源遵循 SBT 约定,位于/srcnew/main/[scala|resources]
Scala sources and resources follow SBT convention and are located at
/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 构建).
Even though resourceDirectory
still points to /srcnew/main/resources
resources don't make it to final jar (built with sbt-assembly).
我也试过
unmanagedResourceDirectories := Seq(baseDirectory.value / "src", baseDirectory.value / "srcnew/main/resources"),
令人惊讶的是它也无济于事.
and surprisingly it doesn't help either.
推荐答案
原来问题是在线的
includeFilter in unmanagedResources := "*.properties"
应该是
includeFilter in unmanagedResources := ((includeFilter in unmanagedResources).value || "*.properties") -- "*.java",
我唯一不明白的是为什么 unmanagedResources
上的过滤器会影响 resourceDirectory
.有人知道吗?
the only thing I don't understand is why filter on unmanagedResources
affects resourceDirectory
. Does anyone know ?
这篇关于设置 `unmanagedResourceDirectories` 会中断 `resourceDirectory` 中的资源部署的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!