упаковка больших часто меняющихся файлов данных с проектом Maven - PullRequest
0 голосов
/ 05 сентября 2011

Я нахожусь в процессе преобразования устаревшего проекта Ant в проект Maven.Частью проекта является очень большой (~ 1,6 ГБ) набор файлов данных в сжатом двоичном формате, доступ к которому осуществляется случайным образом через индексные таблицы.Файлы данных похожи на логарифмические таблицы функций, радужные таблицы или аналогичные таблицы данных для массового сокращения сложных вычислений.

Мы публикуем новые таблицы данных еженедельно, и я хочу использовать систему управления зависимостями Maven дляпомогите разработчикам получить последние таблицы.

Основная проблема, с которой я сталкиваюсь, заключается в том, что я не могу понять, как связать таблицы таким образом, чтобы это был не просто JAR, ZIP или RAR всего набораиз них.Есть ли способ написать pom, который приведет к каталогу файлов данных?Или я просто думаю о проблеме не по-мавенски?

Спасибо за любые предложения.

1 Ответ

0 голосов
/ 06 сентября 2011

Это зависит от того, с чем потребитель может иметь дело.Зависимости Maven не работают с каталогами файлов, поэтому вам понадобится весь артефакт.Вы, вероятно, хотите иметь дело с ZIP-файлами, поскольку JAR имеет перегруженное значение (помещено в classpath), а для других сжатых требуются пользовательские плагины.

Однако, если вы можете разбить его на долгоживущие и недолговечные данныеВы можете получить лучшее поведение (например, ежеквартальный полный выпуск и ряд изменений, которые будут применяться к тому, который выпускается еженедельно).Это зависит от того, могут ли данные быть легко разделены таким образом, или наложены, или исправлены каким-либо образом.Это может быть трудно для сжатого двоичного артефакта.

Другой альтернативой является непрерывное создание большого артефакта и отказ от старых.Это зависит от хорошей пропускной способности между сборками и хранилищем и достаточного количества дисков для размещения столько сборок, сколько вам нужно (менеджеры хранилищ, такие как Archiva, могут помочь очистить старые сборки по регулярному расписанию, если это уместно).

Последнее замечание -если вы имеете дело с ZIP-файлами более 2G (к которым вы приближаетесь), вам необходимо использовать другой ZIP-файл, например truezip-maven-plugin.

...