IntelliJ: Build> Rebuild Project пункт меню по сравнению с Maven чистой установки - PullRequest
0 голосов
/ 11 мая 2018

Для Maven -приведенного проекта в IntelliJ 2018, когда мне следует выбрать…

  • Элемент меню IntelliJ 2018.1 Build>Rebuild Project
  • Элементы жизненного цикла панели Maven clean и install

При каких обстоятельствах это уместно?

Моя ситуация Приложение Vaadin 8 , использующее vaadin-archetype-application-multimodule архетип Ваадина .

Вопрос, Вызывает ли IntelliJ Build> Rebuild Project вызов maven? имеет одиночный ответ , в котором говорится, что Rebuild Project вообще не вызывает Maven.Но нет никаких указаний о том, когда использовать маршрут по сравнению с другим.

Ответы [ 2 ]

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

Если у вас есть мультимодульный проект Maven и:

  • Запустите свои тесты и приложение программно IntelliJ (Main.java):

    Вам вообще не нужно использовать Maven, без очистки, без установки, только Make. И Rebuild когда проект облажается.

    Нажмите Reimport, когда вы меняете зависимости или кто-то развертывает новый снимок зависимости в вашем репо. Если IntelliJ отказывается загружать снимок, попробуйте mvn clean install.

    И с чего бы тебе это все делать? Это быстрее и удобнее для пользователя.

  • Запустите свои тесты и приложение от Maven в IntelliJ (mvn jetty: run):

    Вы должны установить свои модули, которые являются зависимостями для модуля, на котором вы запускаете приложение (mvn jetty:run), потому что Maven не использует ваш скомпилированный вывод для зависимостей, а берет артефакт из вашего удаленного / локального репозитория. В этом случае Make/Rebuild бесполезен, вы должны использовать mvn (clean) install.

    Если вы внесли изменения только в модуль, на котором вы запускаете mvn jetty:run, вам не нужно использовать package/install, но иногда вам придется использовать clean или Rebuild, так как Maven не удаляет удаленные ресурсы .

    Make подходит для горячей замены - по этой причине рекомендуется импортировать все проекты Maven, которые вы разрабатываете и от которых вы зависите, в один проект IntelliJ. Первоначальный Rebuild пригодится, потому что без него Make будет компилировать весь проект вместо только измененных классов, тогда, возможно, произойдет сбой горячей замены, или это займет слишком много времени. Или вы можете просто щелкнуть Make перед запуском приложения, но это может оставить некоторые старые ресурсы, созданные Maven, в скомпилированном выводе, Rebuild позаботится об этом.

    Вы также можете настроить свой сервер приложений для перезапуска / перезагрузки, когда он обнаруживает обновленные файлы из Make или Rebuild - конечно, быстрее, чем перезапуск JVM или компиляция Maven, но вы можете отключить это и использовать только Горячая замена, которая все еще намного быстрее, если вы делаете небольшие изменения.

В любом случае вы можете захотеть взглянуть на Плагин Maven Helper для IntelliJ , он облегчит работу в больших проектах.

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

Что ж, если вы делаете материальные изменения в файле pom.xml (новые плагины, новые модули в многомодульном проекте), вам лучше запустить «mvn clean install».Лично я никогда не использую «Rebuild Project» в проекте Maven.обычно я просто «делаю» проект, чтобы обновить файлы классов, или запускаю реальную сборку Maven, чтобы получить новые / обновленные зависимости.

Третья важная опция (для меня) - это опция «Импортировать все проекты Maven», которая очень полезна, если чистая сборка Maven работает нормально, но IntelliJ по-прежнему считает, что в вашем проекте что-то не так.

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