Как заставить maven использовать отдельные целевые папки для каждой версии программы? - PullRequest
0 голосов
/ 02 мая 2018

Например, у меня есть программа с версией 0.0.1. Maven должен создать для него отдельную папку - «target / 0.0.1 /» вместо «target /». Это должно быть сделано для версии "0.0.2", "0.0.3" и т. Д.

Я использую Eclipse и это Maven: Версия: Oxygen.3a Release (4.7.3a) Идентификатор сборки: 20180405-1200

JDK 1.8.0_172

1 Ответ

0 голосов
/ 02 мая 2018

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

  • Создание отдельной сборки (и выходной Jar) для каждой версии (см. Плагин сборки Maven )
  • Создание многопроектного реактора с отдельной выходной конфигурацией для каждого проекта. Храните общий код в одном проекте, который вы связываете как зависимость от других. Возможно, используйте maven-shade-plugin , чтобы повторно связать пакеты в вашем общем проекте с отдельными выходными проектами

Как видите, оба эти подхода довольно хакерские и требуют продвинутых навыков Maven. Было бы намного проще иметь параметризованные сборки, которые вы передаете в выходной версии. Но это имеет смысл на CI-сервере, таком как Jenkins.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...