остановить автоматическое построение с помощью Maven / Eclipse - PullRequest
13 голосов
/ 16 октября 2011

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

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

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

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

Какможно ли изменить это поведение?Я предпочитаю звонить Maven вручную, как требуется.

Ответы [ 3 ]

12 голосов
/ 11 января 2012

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

6 голосов
/ 21 ноября 2011

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

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

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

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

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

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

4 голосов
/ 21 ноября 2011

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

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

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

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