将全局资源文件夹添加到 gradle 构建以供子项目使用

Adding a global resource folder to gradle build to be made available for subprojects

我有一个 gradle 项目,其中包含许多子项目。我想添加一个资源文件夹,该文件夹与子项目位于同一文件夹中,当它们 运行.

时,它们将位于所有项目的类路径中

文件夹结构有点像:

root
|__subproject1
|__subproject2
|__subproject3
|__global_resources

我试过在根目录中做类似的事情 build.gradle:

allprojects {
    processResources {
        from("$rootProject/global_resources/")
    }
}

或者这样:

subprojects {
    dependencies {
        runtime fileTree(dir: "$rootProject/resources", includes: '*.txt')
    }
}

但是 运行 任何子项目都给出了一个错误,指出它需要的资源不可用。

我该怎么做?

不确定它是否有用,但这是一个 Scala 项目。我不习惯写gradle任务,所以请不要回答"make a gradle task to do that"。我敢肯定它可能就是这么简单,但我没有任何示例可以参考。

我认为最简单且对重用性最友好的方法是将所有 "global" 资源放在 "global_resources/src/main/resources" 中,将 build.gradle 添加到 global_resources 文件夹:

root
|__..projects..
|__global_resources
|____src
|______main
|_________resources
|___________ ...your resource files...
|____build.gradle

build.gradle

apply plugin: "java"

name="global_resources"

然后将此项目包含在您的其他项目中:

dependencies {
  compile project(":global_resources")
}