Использование Maven для распространения проекта

У меня есть проект, который я распространяю, рассылая большие пакеты. Я хотел бы знать, есть ли удобный способ использования Maven для распространения обновлений проекта? Мне нужно что-то вроде того, что делается для обновления программного обеспечения, такого как Firefox или Acrobat Reader. Проверьте репозиторий, предупредите пользователя об обновлении, загрузите и перенастройте. Все в простом и дружественном интерфейсе. Приветствуются альтернативные Java-проекты с открытым исходным кодом.


person Thomas    schedule 16.02.2009    source источник


Ответы (2)


Если ваш проект представляет собой библиотеку: вам необходимо настроить общедоступный репозиторий maven. (или используйте Maven Central). Таким образом, ваши пользователи смогут получить последнюю версию вашей библиотеки, обновив свой POM.

Если ваш проект представляет собой что-то еще, вы можете использовать репозиторий Maven, чтобы хранить пакеты в месте, где их будет легко развернуть (и легко загрузить для всех остальных). Затем вам нужно указать свое программное обеспечение на сайте и время от времени загружать файл «maven-metadata.xml». Maven создаст этот файл и будет управлять им, когда вы скажете «mvn deploy». Файл содержит номера последних версий.

Все, что вам нужно сделать, это загрузить этот небольшой файл и изучить его. Если есть новая версия, откройте диалоговое окно для вашего пользователя, чтобы он мог решить загрузить ее. Я предлагаю предложить «Только загрузка» и «Загрузка и обновление» в качестве отдельных опций, потому что пользователям нравится загружать какое-то время в фоновом режиме, а затем устанавливать между двумя проектами. Им не нравятся надоедливые диалоги («Доступна новая версия. Загрузите и испортите себе день?»… «Я спросил пять минут назад. Скачайте сейчас!»… «Все равно скачивается. Данные кредитной карты найдены на вашем жестком диске». . Выбор другого важного программного обеспечения, которое вам нужно. Покупка сейчас. Хорошего дня!" ;) ).

person Aaron Digulla    schedule 16.02.2009

Я не думаю, что у maven есть стандартный способ предоставления этой функциональности. У Maven есть понятия «выпуск» и «развертывание», но они не применимы к описываемому вами сценарию.

person Ken Liu    schedule 26.02.2009