2015-02-12 56 views
0

Я работаю над многомодульным проектом веб-приложений Java EE (проект maven), который имеет 23 модуля. Он имеет основные 4 модуля, которые могут использоваться отдельно, а другие модули поддерживают задний модуль для этих 4 модулей.Ускорить процесс сборки в многомодульном проекте maven с Intellij IDEA

Когда проект построен, для завершения процесса сборки требуется 4-15 минут, потому что все модули построены вместе с процессом сборки.

  • При перестройке я хочу избежать компиляции и упаковки источников/модулей, которые не изменены, с использованием самой IDE. (Кроме того, мне требуется выборочная очистка тех модулей, которые также изменились)
  • Я хочу построить проект с выбранными модулями, которые мне нужны, без использования аргумента командной строки (с использованием самой IDE).

Я знаю о maven до некоторого уровня. Пожалуйста, помогите мне преодолеть эти проблемы.

+0

Какие версии maven вы используете? Являются ли ваши плагины более или менее актуальными? – khmarbaise

+0

Почему время сборки настолько расходятся? Кроме того, за такие несколько модулей звучит 4-15 минут. – khmarbaise

+0

Я использую Apache Maven 3.2.3. Время для процесса сборки в том смысле, что я имел в виду время сборки плюс время развертывания. – goldbows

ответ

0

Вы можете использовать и выбирать те проекты, которые вы хотели бы построить через '--projects', как показано ниже. Допустим, что у вас есть три модуля:

root (pom.xml) 
    +--- m1 (pom.xml) 
    +--- m2 (pom.xml) 
    +--- m3 (pom.xml) 

Кроме того, m3 зависит от m2 и m1. Так что если вы хотите построить только м3, если никакой другой модуль не изменилось вы можете использовать:

mvn -pl m3 

(Пожалуйста, позвоните из корневого каталога). с этим модулем maven m3 и получить другие зависимости из локального репозитория, если он не найден там из вашего удаленного хранилища (диспетчер репозитория). Если вы не будете работать с текущим состоянием, вам нужно сделать mvn install один раз до и после этого, вы можете повторно использовать другие модули из локального репозитория.

Есть и другие варианты, как следующее:

-am,--also-make      If project list is specified, also 
             build projects required by the 
             list 
-amd,--also-make-dependents   If project list is specified, also 
             build projects that depend on 
             projects on the list 

, которые могут быть приведены в качестве дополнительных аргументов для построения этих модулей.

У меня есть сомнения, что в IntelliJ есть только кнопки/нажатия клавиш, которые настроены таким образом, чтобы использовать это непосредственно внутри IntelliJ. Но вы можете настроить звонки Maven из IntelliJ ...

+0

Звучит неплохо. Но для этого разработчика необходимо изменить командную строку конфигурации maven IntelliJ, когда он или она добавит некоторые изменения. Вместо этого нет способа условного выбора модулей? Я имел в виду, есть ли способ узнать, какой модуль имеет изменения и перестроить только этот модуль ...? – goldbows

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

  • Нет связанных вопросов^_^