使用maven项目打包大量频繁更改的数据文件

时间:2011-09-05 18:35:44

标签: maven-2 dependencies release

我正在将遗留Ant项目转换为Maven项目。该项目的一部分是一个非常大的(~1.6GB)压缩二进制格式的数据文件集,可以通过索引表以随机搜索方式访问。数据文件类似于对数函数表,彩虹表或类似的数据表,用于大规模缩写复杂计算。

我们每周发布新数据表,我希望能够利用Maven的依赖管理系统来帮助开发人员获取最新的表。

我遇到的主要问题是我无法弄清楚如何以不仅仅是整套JAR,ZIP或RAR的方式捆绑表格。有没有办法写一个会导致数据文件目录的pom?或者我只是以非Maven的方式思考问题?

感谢您的任何建议。

1 个答案:

答案 0 :(得分:0)

这取决于消费者可以处理的内容。 Maven依赖项不处理文件目录,因此您需要整个工件。您可能想要处理ZIP,因为JAR具有重载意义(放在类路径上),而其他压缩需要自定义插件。

但是,如果您可以将其分解为长寿命和短期数据,则可能会获得更好的行为(例如,每季度完整版本,以及适用于每周重新发布的一组更改)。这取决于数据是否可以以这种方式轻松拆分,或以某种方式重叠或修补。在压缩的二进制工件中这可能很难。

另一种选择是不断构建大型工件,并丢弃旧工件。这依赖于构建和存储库之间的良好带宽,以及足够的磁盘来容纳所需数量的构建(如果合适,Archiva可以帮助定期清理旧构建版本。)

最后一点 - 如果您正在处理2G以上的ZIP(即将接近),您将需要使用不同的ZIP,例如truezip-maven-plugin。