我的build.gradle
中有以下片段
main {
resources.srcDir "src/main/resources-$env"
}
文件夹
src/main/resources
默认情况下为源。
我想实现
src/main/resources-$env
比resources
具有更高的优先级。现在,如果我有一个名为
config.properties
的文件在一些源代码中,我写了:
Properties.class.getClassLoader().getResourceAsStream('config.properties');
路径
src/main/resources/config.properties
具有更高的优先级。
最佳答案
您可能会这样做:
main {
// important to use '=' so you set rather than add
resources.srcDirs = ["src/main/resources-$env", "src/main/resources"]
}
或者您可能希望将资源合并到一个文件夹中
task mergeResources(type: Copy) {
def envResources = fileTree("src/main/resources-$env")
def defaultResources = fileTree("src/main/resources").minus(envResources)
from envResources
from defaultResources
into "$buildDir/mergedResources"
}
main {
resources.srcDirs = ["$buildDir/mergedResources"]
}
// wire the task into the DAG
compile.dependsOn mergeResources
关于java - 如何确定Gradle中的源目录优先级?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39765997/