Использование maven для распространения Swing-приложения, которое может отслеживать каждую зависимость в отдельности. - PullRequest
1 голос
/ 01 декабря 2009

Я перевожу свой проект в Maven и в итоге OSGi. В настоящее время я распространяю проект в виде большого Zip-файла со всеми зависимостями. Хотя код моих проектов составляет всего 20% от общего пакета, я должен перераспределить всю зависимость. С меньшими независимыми модулями это может быть даже меньше.

Смотря здесь на переполнение стека кажется, что для сохранения моего текущего плана плагин maven-assembly-in the trick.

Я подумывал о том, чтобы иметь базовый установщик, который посмотрел бы на манифест XML, а затем собрал все библиотеки, которые нужно было обновить. Это будет означать, что библиотеки, которые время от времени меняются, будут загружаться реже. Это также делает для чего-то вроде плагинов OSGi (которые могут иметь независимые графики выпуска). По сути, я хочу, чтобы мое программное обеспечение просматривало отдельные библиотеки и управляло ими, а также загружало их по требованию (на основе манифеста).

Мне было интересно, существует ли "maven способ" создания этого Манифеста и публикации всех библиотек на веб-сайте? Я полагаю, что жизненный цикл развертывания сделает второй шаг.

В качестве альтернативы, есть ли библиотека Java OpenSource, которая выполняет этот тип развертывания? Я не хочу вставлять Maven или что-то большее с распределенным кодом. Приложение не для кодеров, чем проще, тем лучше, и чем меньше установщик, тем лучше.

Ответы [ 4 ]

1 голос
/ 19 декабря 2009

Во-первых: Web Start может решить вашу проблему. И вот документация для плагина maven.

Второе: будьте уверены, что вы

  1. создайте хранилище ключей следующим образом:

    keytool -genkey -alias timefinder -keystore timefinder.jks

  2. Создайте шаблон jnlp, например this

  3. посмотрите на нижнюю часть моего pom.xml для примера

  4. и позвоните maven через:

    mvn install webstart: jnlp

Преимущества:

  • все сделает за вас
  • может создавать файлы pack200 для вас (очень сжатые банки)
  • он будет обрабатывать загрузку по запросу, если на сервере загрузки установлен сервлет. Здесь для получения дополнительной информации

Недостатки:

  • время установки, но как только вы это сделали. Отлично работает. см. версию веб-старта из timefinder , которая использует этот плагин

Другой вариант распространения может быть одна банка

1 голос
/ 01 декабря 2009

Кажется, что это идеальный случай для Java Web Start , особенно если учесть, что вы уже хотите сохранить зависимости от веб-сервера. Я не знаю, есть ли у Maven плагин WS; Я помню, как писал код для Maven 1, чтобы сделать работу.

Если вы хотите увидеть WebStart в действии, я рекомендую демонстрационную страницу FindBugs: http://findbugs.sourceforge.net/demo.html - вы увидите ссылку во втором абзаце.

0 голосов
/ 03 декабря 2009

Вы можете использовать Плагин версий Maven для проверки и / или обновления версий зависимостей.

0 голосов
/ 01 декабря 2009

Я не знаю maven способа сделать первое, что вы описываете (что не значит, что для этого ничего нет).

В качестве альтернативы я бы использовал IzPack (что действительно является отличным программным обеспечением) и IzPack Maven Plugin для создания кроссплатформенного установщика и установки / развертывания это в хранилище Maven.

РЕДАКТИРОВАТЬ: Может быть, взгляните на расширенную функцию вызова Веб-установщики . Я не думаю, что это полностью решит вашу проблему (загрузка только того, что изменилось между обновлениями / переустановкой).

...