设置“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
。有人知道吗?
我的设置有点奇怪。我的 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
。有人知道吗?