2014-04-20 17 views
1

目前我正在将grunt生成过程集成到我们的maven生成过程中。 以下是我能想到的两个选项:用生成资源修改内置war文件的最佳maven实践

  1. 指定资源中的某个文件夹作为目标构建dru for grunt项目。
  2. 构建grunt项目,并将这个非标准文件夹作为pom.xml中包含的资源。

它看起来还有一些提升的空间。基本上,因为grunt子项目 不依赖于任何外部资源,所以学习如何不重建已编译的war文件,而是在重建grunt-project后对其进行修改。

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

回答

2

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

  1. 在战争的源代码中包含grunt生成的源代码并用maven构建一个工件。在这种情况下,您每次重建grunt资源时都会重建战争,或者在第二个maven工件中放置grunt生成的源,并使该工件成为战争工件的依赖。 Maven每次都会重建这场战争,但是你得到的是你在问题中似乎暗含的构建分离,或者如果可能的话,在(2)运行时依赖关系中创建依赖关系。你基本上将“咕噜”神器依赖的范围设置为“提供”,所以你不必在每次你的咕噜声文物改变时重建战争。你只需要重建你的咕噜神器。

这听起来像你想要选择(3)。

0

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

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