【问题标题】:packaging large frequently changing data files with maven project使用 maven 项目打包经常更改的大型数据文件
【发布时间】:2011-09-05 18:35:43
【问题描述】:

我正在将旧版 Ant 项目转换为 Maven 项目。该项目的一部分是一组非常大(~1.6GB)的压缩二进制格式的数据文件,这些文件通过索引表以随机搜索方式访问。数据文件类似于对数函数表、彩虹表或类似的数据表,用于大量简化复杂计算。

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

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

感谢您的任何建议。

【问题讨论】:

    标签: maven-2 dependencies release


    【解决方案1】:

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

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

    另一种选择是不断构建大型工件,并丢弃旧的。这依赖于构建和存储库之间的良好带宽,以及足够的磁盘来容纳您需要的尽可能多的构建(如果合适的话,像 Archiva 这样的存储库管理器可以帮助定期清除旧构建)。

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

    【讨论】:

    • 感谢您的建议;当你最初给出这个解释时,我对 maven 的了解还不够,无法理解。我现在使用程序集插件对数据文件进行 tar-gzip 压缩,然后使用辅助程序集步骤将其集成到发布项目中。
    猜你喜欢
    • 2015-04-03
    • 2013-01-13
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-01-21
    • 2011-01-05
    相关资源
    最近更新 更多