2016-03-01 3 views
0

Я использую общедоступный репозиторий maven на Github для развертывания новых версий моего проекта Java с открытым исходным кодом. Проект может быть построен в двух разных версиях, которые определяются конфигурациями профилей в pom.xml Когда я разворачиваю свой артефакт, сборка по умолчанию будет загружена в репозиторий. Можно ли развернуть разные сборки maven в зависимости от разных профилей с тем же номером версии maven? Или существует концепция или наилучшая практика использования разных номеров версий артефакта maven в зависимости от выбранного профиля?Как развернуть артефакты maven в зависимости от их профиля?

+0

«разные номера версий артефакта maven в зависимости от выбранного профиля?». Это не имеет смысла. Это противоречит концепции версии. Похоже, вы хотите развернуть несколько артефактов с помощью классификатора. С той же версией. – Tunaki

ответ

1

Не на 100% уверены, что вы спрашиваете, но сопоставление классификатора с вашими артефактами может быть тем, что вы ищете. Например, если вам нужен был «тычок» и «сценическое» артефакт с различными профилями, вы могли бы сделать что-то вроде этого:

<profiles> 
    <profile> 
    <id>stage</id> 
    <build> 
     <plugins> 
     . 
     . 
     <plugin> 
      <artifactId>maven-jar-plugin</artifactId> 
      <executions> 
      <execution> 
       <phase>package</phase> 
       <goals> 
       <goal>jar</goal> 
       </goals> 
       <configuration> 
       <classifier>stage</classifier> 
       </configuration> 
      </execution> 
      </executions> 
     </plugin> 
     </plugins> 
    </build> 
    </profile> 

Запуск «этап» профиль даст вам «-ступенью» артефакт. Хотя, я бы сказал, что обычно есть лучшие способы сделать это, нередко использовать профили для build for different environments. Это то, что вы пытаетесь сделать?

+0

да, это то, что я ищу. Я создаю War-Templates с сервисом отдыха. В зависимости от целевой платформы (Glassfish, Wildfly) мне нужно настроить различные JAX-RS impl (трикотаж, RestEasy). Вот почему я хочу предоставить различные артефакты в одном выпуске – Ralph

+0

Gotcha. Итак, если вы строите Wars, почему бы не упаковать свой источник приложения в .jar и иметь разные модули для каждой целевой платформы со своими соответствующими дескрипторами/ресурсами? Это было бы более разумным способом сделать это (1 артефакт на модуль), и у вас не было бы массивного pom.xml в одном модуле. – JoshC13

+0

Но разница для конфигурации JAX-RS находится в самом файле web.xml. Я думаю, что нет другого способа построить разные военные модули для каждой платформы? – Ralph

Смежные вопросы