添加全局资源文件夹以使gradle构建可用于子项目

时间:2017-04-03 21:25:18

标签: scala gradle resources classpath

我有一个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任务,所以请不要回答“做一个gradle任务来做那个”。我确信它可能很简单,但我没有任何例子可以使用。

1 个答案:

答案 0 :(得分:2)

我认为最简单,最易用的友好方式是将所有"全球"资源在" 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")
}