使用生成的资源修改构建的war文件的最佳maven实践

时间:2014-04-20 08:40:46

标签: maven war

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

  1. 将资源中的某个文件夹指向grunt项目的目标构建目录。
  2. 在任何地方构建grunt项目并将此非标准文件夹作为pom.xml中包含的资源加入。
  3. 看起来还有一些空间需要改进。基本上,自从grunt子项目 不依赖于任何外部资源,最好学习如何不重建已编译的war文件,但在重建grunt-project后修改它。

    所以,问题是: 将生成的资源添加到现有war文件的最佳做法是什么?

2 个答案:

答案 0 :(得分:2)

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

  1. 在战争源中包含grunt生成的源,并使用maven构建单个工件。在这种情况下,每次grunt资源更改时重建战争,或
  2. 将grunt生成的源放在第二个maven工件中,并使该工件成为war工件的依赖项。 Maven每次都会重建战争,但你得到了你似乎暗示在你的问题中的构建的分离,或者
  3. 如果可能,使(2)中的依赖项成为运行时依赖项。你基本上使grunt工件依赖的范围"提供"因此,每当你的咕噜咕噜声改变时,你就不必重建战争。您只需重建您的grunt工件。
  4. 听起来你想选择(3)。

答案 1 :(得分:0)

war文件只是一个具有特定文件布局的zip文件,您只需使用zip工具添加到存档即可。例如,我的linux platform zip命令有-g命令。

  

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