当前位置: 首页 > 知识库问答 >
问题:

Gradle:在WAR中覆盖文件

蒋阳华
2023-03-14

我正在尝试替换用Gradle生成的WAR文件中的一个文件。

- nodes
  - staging
    - localConfig.yml
    - logback.groovy
- grails-app
  - conf
    - application.yml
    - logback.groovy
war {
    if (project.hasProperty('node')) {
        from("stacks/${project.node}") {
            include('localConfig.yml')
            include('logback.groovy')
            into('WEB-INF/classes')
        }
    }
}

共有1个答案

宋臻
2023-03-14

我认为您需要使用classpath方法添加到web-inf/classes中,例如:

war {
    if (project.hasProperty('node')) {
        classpath "stacks/${project.node}/localConfig.yml", "stacks/${project.node}/logback.groovy"
    }
}

或者也许

war {
    if (project.hasProperty('node')) {
        classpath fileTree("stacks/${project.node}")
    }
}
 类似资料:
  • 在Groovy中,我重写了这样一个任务: 如何使用Kotlin dsl?我知道我可以创建这样的任务: 但是我找不到等价的方法来声明它为overwrite,这导致了一个错误

  • 我有一个用Lombok的@Data注释的类,在一个gradle项目中,使用Sonarqube和Jacoco插件。 源代码可在 github 上找到 我有一个本地运行的sonarqube服务器作为docker容器运行,开始如下: 我添加了一个“lombok.config”文件,要求它添加@lombok。根据文档中的“全局配置键”部分,为其生成的代码生成注释。 我有以下声纳状态配置。 当我第一次运行s

  • 问题内容: 目前,我正在使用此: 但是问题在于旧文件大于新文件。因此,我最终得到了一个新文件,该文件的末尾有旧文件的一部分。 问题答案: 如果您不想关闭并重新打开文件,为避免出现竞争情况,可以这样做: 该功能将很可能也更清洁和更安全的使用作为一个上下文管理器,这将关闭该文件处理程序,即使出现错误!

  • 当运行Gradle的Jacoco插件时,我在一组选定的类上得到零代码覆盖率报告。我已经确认测试这些类的所有单元测试都已成功运行。 非常有趣的是,EclEmma在Eclipse中生成了正确的代码覆盖率结果。我已经确认这两个工具使用的是相同版本的Jacoco。 我想知道这两种工具的区别是什么?我需要Gradle Jacoco插件的额外配置吗。 编辑:我的Gradle Jacoco输出显示“com类的执

  • 问题内容: 我编写的代码应该覆盖所选文本文件的内容,但是会附加它。我到底在做什么错? 编辑 我尝试制作一个新的temp.txt文件并将新内容写入其中,删除此文本文件并将temp.txt重命名为该文件。事实是,删除总是不成功的。我认为我不必为此更改用户权限吗? 另外,程序的一部分列出了该目录中的所有文件,因此我猜它们正在被程序使用,因此无法删除。但是为什么不覆盖呢? 解决了 我最大的“ D’oh”时

  • 在我当前的构建脚本中,我有特殊的/res/和/assets文件夹,我在构建时将它们复制到文件的工作版本上。在/assets/中是捆绑的数据(sql和一个文本文件),而在/res/values/I中有一个connection.xml值文件。