java如何在构建时用gradle覆盖项目依赖项的资源文件
我在一个多模块Gradle应用程序中工作,其中项目B将依赖于项目a,并作为依赖项导入:
compile project(":modules:lib-module")
项目A,让我们调用lib-module
,在本例中包含用于配置Log4J2的XML文件,这些文件通常未经依赖项目修改就使用。然而,在这种情况下,我需要完全覆盖lib-module
中的文件
我知道我可以在设置Log4J2的模块的引导过程中编写代码来处理这个问题,但是我想看看是否有一种方法可以在构建时使用Gradle覆盖这些文件,而无需向应用程序本身添加额外的代码
由于该特定模块用作AWS Lambda函数,我们使用了一个特殊的构建脚本:
task buildZip(type: Zip) {
from compileJava
from processResources
into('lib') {
from configurations.runtime
}
}
build.dependsOn buildZip
我希望我可以更新from processResources
子任务,将这个模块的资源文件复制到依赖项的资源文件的位置,但这并没有像我预期的那样起作用
我研究了“lib”文件夹中JAR的内容,它们包含原始XML文件,很可能是因为该模块有自己的build.gradle
文件
有没有办法在父项目的build.gradle
文件中完全覆盖依赖项目的资源文件
注意:我特意没有标记AWS Lambda或Log4J2,因为它与这个问题无关,但我想为读者提供上下文。这个问题只是如何与Gradle一起解决这个问题
共 (0) 个答案