【问题标题】:Best maven practices for modifying built war-file with generated resources使用生成的资源修改构建的战争文件的最佳 Maven 实践
【发布时间】:2014-04-20 08:40:46
【问题描述】:

目前我正在努力将 grunt 构建过程集成到我们的 maven 构建过程中。 以下是我能想到的两个选项:

  1. 将资源中的某些文件夹作为 grunt 项目的目标构建目录。
  2. 在任何地方构建 grunt 项目并将这个非标准文件夹作为包含在 pom.xml 中的资源。

看起来还有一些改进的空间。基本上,自从 grunt 子项目 不依赖任何外部资源,学习如何不重建已经编译好的war-file,而是在重建grunt-project后修改它会很好。

所以,问题是: 将生成的资源添加到现有战争文件的最佳实践是什么。

【问题讨论】:

    标签: maven war


    【解决方案1】:

    向war文件添加资源的方法相当于在maven构建后修改maven构建的工件。这与严格控制每个工件的整个构建的 maven 哲学背道而驰。你真的有三个选择:

    1. 将 grunt 生成的源代码包含在 war 的源代码中,并使用 maven 构建单个工件。在这种情况下,每次 grunt 资源更改时您都会重建战争,或者
    2. 将 grunt 生成的源放入第二个 maven 工件中,并使该工件成为战争工件的依赖项。 Maven 仍然会每次都重建战争,但你会得到你在问题中暗示的构建的分离,或者
    3. 如果可能,将 (2) 中的依赖项设置为运行时依赖项。您基本上使 grunt artifact 依赖项的范围“提供”,因此您不必在每次 grunt 工件更改时重新构建战争。你只需要重建你的咕噜神器。

    听起来您想选择选项 (3)。

    【讨论】:

      【解决方案2】:

      war 文件只是具有特定文件布局的 zip 文件,您可以使用 zip 工具将其添加到存档中。例如我的 linux 平台 zip 命令有 -g 命令。

      -g --grow 增长(附加到)指定的 zip 存档,而不是创建一个新存档。如果此操作失败,zip 会尝试恢复 存档到原始状态。如果恢复失败,存档 可能会损坏。没有时忽略此选项 现有存档或必须更新至少一个存档成员时 或删除。

      【讨论】:

        猜你喜欢
        • 2014-06-24
        • 2014-04-07
        • 2014-11-21
        • 1970-01-01
        • 2013-06-13
        • 1970-01-01
        • 2010-12-24
        • 2013-03-25
        • 1970-01-01
        相关资源
        最近更新 更多