Как избежать потери времени во время компиляции во время разработки? - PullRequest
8 голосов
/ 20 апреля 2010

Я работаю с небольшой командой разработчиков. Моя задача - преобразовать проект Make (с Intellij Idea 9.0) в проект Maven 2.

Проблема в том, что мы тратим много времени на разработку. При использовании Make требовалась только одна полная сборка, и тогда любое изменение не занимало много времени (почти мгновенно). С другой стороны, в Maven 2 небольшие изменения занимают много времени.

Есть решение? Спасибо.

Ответы [ 3 ]

10 голосов
/ 21 апреля 2010

Проблема, с которой вы сталкиваетесь, и ее описание не ясны (какова структура вашего проекта, как вы его строите, сколько времени занимает компиляция одного изменения и т. Д.), Но вот несколько советов, которые могут помочь:

  • Использовать инкрементные сборки (т.е. не использовать clean при каждой сборке).
  • Использовать двоичные зависимости (то есть несколько модулей с зависимостями от огромного монолитного модуля).
  • Используйте расширенные опции реактора для интеллектуальной сборки реактора (для сборки только необходимого подмножества модулей).
  • Используйте Maven Shell (если вы не знаете об этом проекте, ПРОВЕРЬТЕ ЕГО ).

Лично я не испытываю проблем с большим количеством времени для запуска своих проектов.

4 голосов
/ 21 апреля 2010

С другой стороны, в Maven 2 небольшие изменения занимают много времени.

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

Без дальнейших подробностей, хотя трудно дать совет. Вы перешли на Maven и обнаружили, что он, кажется, чрезмерно перестраивает многие части ваших проектов? Если да, пожалуйста, предоставьте более подробную информацию, как Паскаль упоминает выше. Или этот вопрос вызван страхом?

1 голос
/ 21 апреля 2010

IntelliJ может загрузить конфигурацию модуля / проекта из файлов pom. Это означает, что во время разработки используйте сборку IntelliJ на основе файлов pom (которая является инкрементной и быстрой) и используйте только maven для непрерывной интеграции и выпусков.

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