Реализация установщика, основанного на maven

StackOverflow https://stackoverflow.com/questions/2209129

  •  18-09-2019
  •  | 
  •  

Вопрос

Нечто подобное было задано в список пользователей maven но у меня ситуация, похожая на эту.

У меня есть некоторый сервис, упакованный как .WAR, который создается maven.Однако этот .Файл WAR требует настройки:Мне нужно упаковать его по-разному, в зависимости от пользовательского ввода.По сути, пользователь должен сам выбрать компоненты, которые он хотел бы добавить в WAR, и определить некоторую простую конфигурацию для этих компонентов.

Что мне нужно сделать, это:

  1. Создайте "легкий" установщик, который не будет содержать никаких maven артефакты (или, если это невозможно, содержать их все = "тяжелый" установщик).
  2. Когда конечный пользователь запускает установщик, у него запрашивается список компонентов для упаковки (= флажки)
  3. Для каждого компонента установщик запрашивает параметры конфигурации (которые затем должны быть сохранены в виде файлов .property, по одному на компонент) .
  4. Затем установщик извлекает только необходимые артефакты (выбранные пользователем + обязательные) и заменяет файлы свойств в этих артефактах файлами из шага 3 (или помещает их в "классы /").
  5. Наконец, он создает готовый к использованию пакет WAR и (необязательно) запускает tomcat (или jetty) в фоновом режиме.

IzPack помогает решить только шаг 2.Но есть ли какое-то универсальное решение для этого?

Это было полезно?

Решение

Я не знаю ни одного универсального решения для этого, особенно такого, которое позволит упаковка заказная ВОЙНА.Изпак может соберите параметры установки (и, возможно, помогите решить шаг 3), IzPack имеет расширенная функция, называемая Веб-установщики это могло бы помочь решить шаг 4, но, насколько мне известно, это не инструмент для сборки / упаковки, поэтому он не будет охватывать шаг 5 (самый важный).

Возможно, здесь мог бы помочь архетип maven (в интерактивном режиме).Но я даже не уверен, что архетип обеспечит вам необходимый уровень гибкости.Другими словами, это будет непросто.

На самом деле, в вашем случае, я думаю, что Ant (с Задачи Maven Ant или Плющ) было бы лучшим вариантом.Я знаю, что это не то, о чем вы просили, но я не думаю, что Maven - подходящий инструмент для вашего варианта использования.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top