K.Ответ Клэзена правильный, но я хотел бы заполнить некоторые дополнительные детали.
A.Почему m2e похож на это?
Смысл этого поведения состоит в том, чтобы предотвратить использование m2e слишком большого количества ресурсов с постепенными (и потенциально бесконечными) изменениями.
B.m2e версия 1.1 пока не является «релизом»
В настоящее время m2e 1.1 все еще является «вехой».Пользователи должны будут установить / обновить его с помощью этого сайта обновлений: http://download.eclipse.org/technology/m2e/milestones/1.1 (мне также пришлось удалить «разъем SCM m2e», чтобы обновить его)
Сейчас этопотенциально больше хлопот для ваших пользователей, чем вставка фрагмента 'Quick Fix' в их файлы pom.xml.Но в долгосрочной перспективе это хорошо использовать.
C.Обзор создания вашего подключаемого модуля maven m2e-1.1-совместимого
Как описано K. Claszen, большая часть информации находится здесь: M2E-совместимые подключаемые модули maven .
Некоторые ключиpoints:
- Информация об исполнении определяется в файле - src / main / resources / META-INF / m2e / lifecycle-mapping-metadata.xml - см. M2E-совместимые плагины maven для формата.
- Если вы включили «инкрементное выполнение», вашему Mojo нужно будет правильно обмениваться данными с API Maven:
- Укажите зависимость от org.codehaus.plexus / plexus-build-api / 0.0.1 (текущий на момент написания)
- Используйте org.codehaus.plexus.build.incremental.BuildContext, чтобы:
- Проверить, изменились ли соответствующие ресурсы
- Уведомлять Maven о соответствующих операциях записи, выполняемых плагином, чтобы он знал, что нужно компилировать источники и т. Д.
D.Альтернативы
Если 1.1 не является реалистичным вариантом для ваших пользователей, вы можете:
- Создать ' Расширение M2E Eclipse plugin' (!!),aka '1048 * M2E Connector ', и выведите его на рынок.Удачи вам в этом.
- Сообщите пользователям вашего плагина о выборе M2E 'Quick Fix', а затем вручную измените строку
<ignore />
на <execute />
.Есть другие SO вопросы / ответы, которые охватывают это.