作者:蛋狗酱_972 | 来源:互联网 | 2022-12-27 11:20
问题:
我们如何使IntelliJ Build工件替换我们的processResources Gradle任务中的令牌字符串。我想避免手动配置IntelliJ,我认为这是“蚂蚁预处理”。我希望配置仅在Gradle脚本中。
我们的环境:
我们使用Gradle构建战争容器,并使用IntelliJ作为IDE。在开发过程中,我们使用IntelliJ的“构建工件”在IntelliJ中部署了爆炸工件。我们的Gradle流程资源使用ant ReplaceToken过滤了一些log4j.xml文件和类似文件,如下所示
processResources {
filter(ReplaceTokens, tokens: [VERSION_TOKEN: version])
}
我们使用IntelliJ的import Gradle模块,并创建类型为'Web'的'Web Gradle'方面资源工件。当我们让Intellij构建我们的工件并在开发中部署爆炸战争时。IntelliJ的构建工件按照流程资源中的定义执行过滤器令牌替换。
但是,此processResources定义会命中所有文件,并且会破坏我的PNG文件。
以下内容在Gradle中仍然有效,但是现在IntelliJs构建Artifact不能替代令牌
processResources {
filesMatching('**/log4j2.xml') {
filter(ReplaceTokens, tokens: [VERSION_TOKEN: version])
}
}
同样,如果我在中做替换doFirst{}
或做一个eachFile { copyDetails -> if (copyDetails.path == 'log4j2.xml') { filter... } }}
。