2013-08-16 7 views
5

в Eclipse, когда Maven включен, есть файл pom.xml для сборки с Maven. Кроме того, Eclipse имеет возможность «строить автоматически» в своем проектном меню.«build automatically» и maven в Eclipse

«Автоматически строить» автоматически с помощью Maven, или нам нужно снять флажок, потому что, когда Maven включен, нам больше не нужна сборка Eclipse в сборке?

ответ

8

Eclipse's m2e будет запускать цели плагина, в котором есть привязки жизненного цикла. Я не знаю (и я не могу найти), что выполняются определенные фазы, но из опыта я знаю, что:

  • для нормальной работы, по крайней мере компиляции запускается на выполнение.
  • для выполнения тестов (например, тестовых примеров JUnit), выполняется не менее test-compile.

Обратите внимание, что не все возможные привязки, и происходит вокруг that problem иногда problematic. Таким образом, как правило, наличие обоих должно выполняться нормально, и на самом деле будет избегать некоторых несоответствий из-за скомпилированного состояния, которое не обновляется при кодировании.

Однако если вы есть плагины, которые игнорируются m2e, вы должны фактически закрыли «Build Automatically» от когда нужно быть уверенным ваша сборка завершается корректно.

Например, используя Maven Properties plugin, если вы не указали привязку и не задали m2e, чтобы игнорировать, у вас будут ресурсы с значениями свойств вне игры. Проблема может возникнуть, когда вы делаете сборку «Maven» (например, из контекстного меню правой кнопки мыши), а затем выполняете изменения в коде и сохраняете его.

2

Вам нужны оба. Вот почему:

Встроенный компилятор Eclipse используется для инкрементной компиляции - при сохранении кода, например. Но полная сборка проекта выполняется с использованием maven и конфигурации проекта в pom.xml.

+3

Это неправда - 'm2e' фактически выполняет привязки жизненного цикла, которые он имеет, это не только инкрементная компиляция кода. Здесь тривиальный пример - фильтрация ресурсов. –

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