2015-10-18 2 views
0

У меня есть следующая Maven организация:Maven - советы по использованию мульти-модулей (баночек, войны, ...) проект

- ./pom.xml (top-level project, which defines the 4 modules below) 
    - ./a/pom.xml (jar) 
    - ./b/pom.xml (jar) 
    - ./c/pom.xml (war) 
    - ./d/pom.xml (war) 

До сих пор я использую Maven следующим образом (все выполненные в корень):

1. mvn clean compile install 
2. mvn tomcat7:redeploy -pl c 
3. mvn tomcat7:redeploy -pl d 

Хотя это работает отлично, я не уверен, что это предпочтительный способ. На первом этапе я устанавливаю все проекты, но на самом деле должны быть установлены только проекты баннеров a и b. Нет необходимости устанавливать проекты c и d.

Хотя это не повредит установке c и d, есть ли лучшее использование Maven, чтобы избежать этого? Я всегда могу вручную установить a и b, но это, конечно же, согласуется с преимуществами модулей (автоматическое определение порядка зависимостей, чтобы назвать одно преимущество).

ответ

1

compile и install являются частью жизненного цикла по умолчанию, поэтому нет необходимости звонить compile. И вам не нужно install файлов, если зависимости являются частью реактора (т. Е. Все строящиеся проекты maven). Вместо этого package достаточно хорош, хотя я предпочитаю verify, если есть интеграционные тесты. Возможно, вы тоже можете это сделать: mvn verify tomcat7:redeploy -pl c -am, где -am запускает проекты многомодального проекта, которые необходимы для построения c.

+0

Спасибо, это действительно то, что я хотел! (Я попробовал то же самое по аналогичному проекту, но там это не удалось. Я создам для этого новый вопрос.) –

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