Остановить автоматическое здание с maven/eclipse

Мы используем maven с eclipse. У нас есть проект с несколькими модулями, довольно большой.

Интеграция Eclispe-Maven, по-видимому, сама решает, когда реагировать на модули, зависящие от здания, и это боль.

Я включил автоматическое здание, но это не делает никаких изменений.

Существуют определенные действия, такие как: удаление ресурса или запуск модуля, который инициирует сборку другого модуля.

Как можно повернуть это поведение? Я предпочитаю называть maven вручную по мере необходимости.

Ответ 1

Просто перейдите в Project в верхнем баре, чем снимите флажок "Build Automatically". Это остановит автоматическое построение проекта и экономит ваше драгоценное время.

Ответ 2

Решение Ziesemer действительно дезактивирует создание Maven, хотя я думаю, что он придет с некоторыми довольно нежелательными побочными эффектами, когда вы сможете выполнить код в Eclipse для отладки или тестов. Проблема будет в том, что некоторые ресурсы не будут присутствовать, поскольку сборки не будут работать, чтобы скопировать и отфильтровать их, как ожидалось. это приводит к некоторым неприятным ошибкам phantom и часам, потраченным впустую, если, как и я, вы, как правило, забываете запускать сборку maven вручную каждый раз, когда вам нужно запустить код.

закрыть ненужные проекты Когда у вас есть рабочая копия ваших проектов, выполните

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

деактивировать разрешение рабочей области вы также можете добиться аналогичного эффекта, нажав на проект и отключив разрешение рабочей области. Это заставит maven выполнить разрешение хранилища и обойти сборку. Однако, если вы меняете несколько проектов, вы должны убедиться, что они установлены в локальный репозиторий, иначе другие проекты не будут видеть изменения. Также может потребоваться ручной толчок проекту для разрешения зависимостей, особенно если вы не используете версию сборки SNAPSHOT.

разделить проект дальше Другой альтернативой было бы разделить ваш проект на несколько модулей, каждый из которых имеет собственные модули. Это создаст более глубокую иерархию, которая имеет свои отрицательные побочные эффекты, но это позволит вам сохранить только один набор, активный в вашей среде. Опять же, убедитесь, что вы установили другие настройки в свой локальный репозиторий для правильной работы разрешения.

Надеюсь, что это поможет.

Ответ 3

Щелкните правой кнопкой мыши проект, который вы пытаетесь отключить автоматические сборки Maven, нажмите "Свойства", затем нажмите "Строители" в левой части навигации. Там должен быть "Maven Project Builder", который вы можете снять, чтобы отключить его.

Я не уверен, что это именно то, что вы ищете. Я также никогда не работал так, как я сам, поэтому я не могу говорить ни о каких побочных эффектах, которые могут возникнуть, хотя Eclipse предупреждает вас об этом: "Это расширенная операция. Отключение конструктора проекта может иметь много сторон -эффекты. Продолжить?".

Предполагая, что ваш проект находится в каком-то виде контроля версий, убедитесь, что перед этим только ваш файл pom.xml, а не ваш проект Eclipse.project или .settings находятся в исходном контроле. (Если это так, не забудьте их вернуть.) Остальная часть вашей команды, вероятно, не захочет, чтобы этот строитель был отключен для всей группы.: -)