Рекомендуемые способы импорта проекта Maven в IDE? - PullRequest
4 голосов
/ 11 июня 2010

Многие IDE поддерживают прямой импорт проектов maven, но maven имеет подключаемый модуль maven-eclipse-plugin, когда вы запускаете:

mvn eclipse: eclipse

Это будетсгенерируйте настройки проекта eclipse, затем вы сможете импортировать их как общий проект eclipse.

Какой из них лучше?

Я предпочитаю импортировать напрямую, используя m2eclipse, поскольку моя IDE - это Spring Source Suite (eclipse 3.5 поставляется сWTP 3.1 и m2eclipse).

Я не уверен, что m2eclipse импортирует проект maven, внутренне используя "maven-eclipse-plugin" для преобразования в проект eclipse.

Поддерживает ли maven-eclipse-plugin настройки проекта WTP 3.1?Из моих экспериментов maven-eclipse-plugin не может сгенерировать WTP 3 выше совместимых настроек.

Ответы [ 5 ]

2 голосов
/ 11 июня 2010

Какой из них лучше?

Они разные. Плагин maven-eclipse-plugin очень легкий, поскольку ничего не делает после импорта проекта в Eclipse, но не обеспечивает реальной интеграции: нет поддержки двунаправленного текста, нет редактора pom.xml, нет причудливых мастеров, нет создания модулей из Затмение ... Лично мне все равно, какие из этих функций. Однако есть одна вещь, которая мне действительно нужна во многих проектах: поддержка фильтрации ресурсов внутри IDE. m2eclipse делает это, так как он встраивает Maven.

Я не уверен, что m2eclipse импортирует проект maven, внутренне используя "maven-eclipse-plugin" для преобразования в проект eclipse.

Нет, это не так, это действительно добавляет новый проект Nature.

Поддерживает ли maven-eclipse-plugin настройки проекта WTP 3.1? Из моих экспериментов maven-eclipse-plugin не может сгенерировать WTP 3 выше совместимых настроек.

Плагин может создавать файлы конфигурации WTP R7, 1.0, 1.5 и 2.0. Файлы конфигурации WTP 2.0 совместимы с WTP 3.0 (структура не изменилась).

Вы можете объявить параметр wtpversion в командной строке или в конфигурации плагина. Ниже приведен пример:

  <plugin>
    <groupId>org.apache.maven.plugins</groupId>
    <artifactId>maven-eclipse-plugin</artifactId>
    <version>2.8</version>
    <configuration>
      <projectNameTemplate>[artifactId]-[version]</projectNameTemplate>
      <wtpmanifest>true</wtpmanifest>
      <wtpapplicationxml>true</wtpapplicationxml>
      <wtpversion>2.0</wtpversion>
      <manifest>${basedir}/src/main/resources/META-INF/MANIFEST.MF</manifest>
    </configuration>
  </plugin>
2 голосов
/ 11 июня 2010

Я предпочитаю

mvn eclipse:eclipse

метод сам. Я использовал плагин m2eclipse, но у меня была пара проблем с распознаванием уже созданных проектов, и он также заполняет мое контекстное меню в eclipse гораздо большим количеством элементов. Я предпочитаю, чтобы в моей среде IDE было как можно меньше плагинов, и я предпочитаю работать с maven из командной строки. Это также помогает, так как в моей команде у нас нет стандартной IDE, поэтому мы не помещаем сгенерированные IDE артефакты в систему контроля версий. Знание того, что все можно построить из командной строки, очень легко помогает с независимостью IDE, а также с непрерывной интеграцией.

2 голосов
/ 11 июня 2010

Мы используем метод mvn eclipse: eclipse, и он отлично работает, но я полагаю, что предпочтительным способом было бы использовать плагин m2eclipse , поскольку это упрощает интеграцию.Я сам этим не пользовался, так как мы используем RAD, основанный на более старой версии Eclipse, которая не поддерживает этот плагин.

1 голос
/ 11 июня 2010

(Обычно) Встроенные плагины IDE лучше, чем стандартные, предоставляемые продуктом, поскольку они лучше знают свой собственный формат, могут получать доступ к встроенным функциям, используемым самой IDE, и оставаться в курсе.

Здесь я очень рекомендую встроенный плагин Eclipse.

0 голосов
/ 11 июня 2010

Я могу поделиться своим опытом с JetBrains IDEA .

Лучше использовать функцию импорта Maven из IDEA, а не maven, потому что IDE лучше знает формат проекта, который вы используете.должен создать.

Например, я не знаю, создает ли mvn: idea файлы проектов для IDEA 9.

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