将全局资源文件夹添加到 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")
}
我有一个 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")
}