Могу ли я настроить m2eclipse через pom.xml?
С помощью maven-eclipse-plugin, используя mvn eclipse:eclipse
, вы можете указать eclipse природа проекта и сборщики, которые будут автоматически добавлены в проект eclipse.
В более ранних версиях m2eclipse использовался блок конфигурации плагина maven-eclipse, а также позволял активировать натуры и сборщики, используя тот же механизмы. Это, похоже, уже не так, потому что: а) я не могу найти ссылку на maven-eclipse-plugin
в источниках m2eclipse и b) он просто не работает: -)
Итак, это мой вопрос: есть ли способ сконфигурировать проект eclipse, созданный m2eclipse из pom.xml? В частности: разработчики проектов и натуры, но меня тоже интересуют другие варианты.
Ответы
Ответ 1
Теперь я реализовал это как плагин maven, я вызываю maven-eclipseconf-plugin.
К сожалению, это проприетарная работа для клиента, поэтому я не могу поделиться им. Но позвольте мне описать, что я делаю:
Связано с проверкой жизненного цикла, я проверяю существование файла eclipse .project
. Если он там, я проверяю его на наличие разработчиков и натуры, которые я хочу автоматически добавить (и вы можете деактивировать это поведение, используя свойство maven или файл остановки с настраиваемым именем). Вы также можете определить файлы конфигурации, которые будут записаны (например,.pmd, связанный с другим моим вопросом). Содержимое файлов конфигурации может быть указано в строке, оно может быть получено из внешнего файла или из URL-адреса. Я также попытался ввести замену переменных в конфигурационных файлах, где специальный заменитель будет заменен корневой папкой с несколькими модулями, но мне пришлось отказаться от этого подхода.
В любом случае, плагин дает мне практически все функциональные возможности maven-eclipse-plugin, который я когда-либо использовал (конечно, есть намного больше хотя), и я доволен этим. Возможно, я снова построю что-то подобное в open source, когда этот контракт будет завершен.
Ответ 2
Следующий поток обобщает почти все. Во-первых, это объясняет, что m2eclipse больше ничего не поддерживает и не будет поддерживать ничего из Maven Eclipse Plugin, потому что:
- Sonatype не поддерживает его.
- Это вызывает у них слишком много проблем.
Во-вторых, в нем указано, что метод m2eclipse для обработки дополнительных объектов и разработчиков проекта заключается в написании конфигураторов проектов:
(...) мы рекомендуем писать конфигураторы для добавления желающих и создателей, основанных на том, что доступно в POM.
Смотрите эту ссылку для руководства и этот проект для некоторых существующих конфигураторов для checkstyle, findbugs, pmd.
Ответ 3
Предложенный подход представляют собой конфигураторы проектов. Но последняя версия m2-расширений - с начала 2010 года и разработана против m2eclipse 0.10.x. Существует проект-преемник, называемый m2-code-quality, который является более новым и активным и развивается против m2eclipse 0.12.x.
Но ни mm-extensions, ни m2-code-quality не поддерживают FindBugs на данный момент. Существуют и другие ограничения с файлами заголовков, исключениями и измененными JAR.
Я успешно использовал универсальный подход с AntRun, Ant и XMLTask, чтобы автоматически добавлять сущности проекта, сборщики и файлы конфигурации для плагинов Eclipse из pom.xml.