Для работающего проекта мы рассматриваем возможность использования плагина Maven для Eclipse для автоматизации наших сборок. Прямо сейчас процедура намного сложнее, чем должна быть, и мы надеемся, что Maven упростит вещи до сборки в один клик.
У меня вопрос: есть ли мастер или автоматический импортер для преобразования существующего проекта Eclipse Java в проект Maven с использованием плагина Maven? Или я должен создать новый проект Maven и вручную скопировать все исходные файлы, библиотеки и т. Д.
Ответы:
Если вы просто хотите создать POM по умолчанию и включить функции m2eclipse: я полагаю, у вас нет альтернативной автоматической сборки сборки, которую вы пытаетесь импортировать, и я предполагаю, что вы говорите о плагине m2eclipse.
Плагин m2eclipse предоставляет возможность щелкнуть правой кнопкой мыши по проекту, чтобы добавить этот pom.xml по умолчанию:
Более новые версии M2E
Щелкните правой кнопкой мыши Project -> подменю Configure -> Convert to Maven Project
Старые версии M2E
Щелкните правой кнопкой мыши Project -> подменю Maven -> Включить управление зависимостями.
Это сделает необходимое для включения плагина для этого проекта.
Чтобы ответить « есть ли автоматический импортер или мастер? ': не то, что я знаю о. Использование опции выше позволит вам включить плагин m2eclipse для вашего существующего проекта, избегая ручного копирования. Вам все еще нужно будет настроить зависимости и другие вещи, которые вам понадобятся для создания самостоятельно.
источник
Начните с m2e 0.13.0 (если не раньше), вы можете преобразовать проект Java в проект Maven из контекстного меню. Вот как:
Вот подробные шаги с снимками экрана.
источник
У меня возникла та же проблема, и я хотел создать Mavenise для всего рабочего пространства Eclipse, содержащего около 60 проектов Eclipse. Выполнение этого вручную требовало много времени, и альтернативные варианты были не столь жизнеспособны. Чтобы решить эту проблему, я наконец создал проект под названием eclipse-to-maven на github. Поскольку eclipse не имеет всей необходимой информации о зависимостях, она делает следующее:
Основываясь на
<classpathentry/>
элементах XML в файле .classpath, он создает зависимости от другого проекта, идентифицирует файл jar библиотеки и на основе его имени (например, jakarta-oro-2.0.8.jar) идентифицирует его версию. В настоящее времяartifactId
иgroupId
так же, как я не мог найти то, что могло бы вернуть мне Maven groupId зависимости на основеartifactId
. Хотя это не идеальное решение, оно обеспечивает хорошую основу для ускорения Mavenisation.Он перемещает все исходные папки в соответствии с соглашением Maven (как
src/main/java
)Поскольку проекты Eclipse, имеющие имена с пробелами, трудно обрабатывать в среде Linux / Unix, он также переименовывает их с именами без пробелов.
Результирующие файлы pom.xml содержат зависимости и базовую структуру pom. Вы должны добавить необходимые плагины Maven вручную.
источник
.classpath
и.project
файлы)? Не могли бы вы добавить в свой ответ, как использовать ваш плагин для создания простого проекта JavaSE - и каковы будут реальные изменения в структуре каталогов?Щелкните правой кнопкой мыши имя проекта> Конфигурировать> Преобразовать в проект Maven> нажмите «Завершить». Здесь вы добавите некоторые зависимости для загрузки и добавьте ожидаемый файл JAR.
Это создаст автоматически сгенерированный файл pom.xml. Откройте этот файл в формате XML в редакторе Eclipse. После build tag (
</build>
) добавьте свои зависимости, которые вы можете скопировать с веб-сайта maven, и добавьте их туда. Теперь вы готовы идти. Эти зависимости автоматически добавят необходимые файлы JAR.источник
Ответ Chengdong является правильным, вы должны использовать
Configure>Convert to Maven Project
. Тем не менее, я должен добавить, что процесс конвертации был значительно улучшен, поскольку m2e 0.13.0: m2e 1.1+ и m2e-wtp 0.16.0+ теперь могут преобразовывать существующие настройки eclipse в конфигурацию плагина maven .Что касается преобразования зависимостей, вы можете попробовать функцию интеграции JBoss Tools (JBT) 4.0 Maven, которая содержит экспериментальный мастер преобразования, подключенный к процессу преобразования m2e: http://docs.jboss.org/tools/whatsnew/maven/ maven-news-4.0.0.Beta1.html .
Это не претендует на то, чтобы быть окончательным решением (ничто не может), но это должно значительно помочь запустить процесс преобразования Maven.
Кроме того, к вашему сведению, вот несколько идей по улучшению процесса преобразования m2e , рефакторинг для использования макета Maven, скорее всего, будет реализован в будущем.
JBT 4.0 (требуется Eclipse JavaEE Juno) можно установить с http://download.jboss.org/jbosstools/updates/stable/juno/ или с Eclipse Marketplace
источник
Это необходимо, потому что, более или менее, когда мы импортируем проект из git, это не проект maven, поэтому зависимости maven не находятся в пути сборки.
Вот что я сделал, чтобы превратить общий проект в проект maven.
общий проект -> проект Java, щелкните правой кнопкой мыши проект, свойства -> фасеты проекта, нажмите «Java». Этот шаг превратит общий проект в проект Java.
java проект -> проект maven правой кнопкой мыши проект, настройка -> преобразование в проект maven На данный момент maven зависимостей lib все еще не в пути сборки. свойства проекта, путь сборки , добавить библиотеку, добавить зависимости maven lib
И подождите несколько секунд, когда загрузятся зависимости, проект готов!
источник
Существует программа командной строки для преобразования любого проекта Java в проект SBT / Maven.
Он разрешает все jar-файлы и пытается определить правильную версию на основе контрольной суммы SHA, пути к классу или имени файла. Затем он пытается скомпилировать исходные коды, пока не найдет рабочую конфигурацию. Пользовательские задачи для выполнения в зависимости конфигурации также могут быть предоставлены.
https://bitbucket.org/mnyx/universalresolver
источник
Насколько я знаю, нет ничего, что могло бы автоматически преобразовать проект Eclipse в проект Maven (т.е. изменить макет, создать POM, «сгенерировать» и снабдить его метаданными, обнаружить библиотеки и их версии, чтобы добавить их в POM). , и т.д). В Eclipse просто недостаточно метаданных, чтобы сделать это возможным (в этом и заключается смысл POM) и / или получить достойный результат.
Это был бы лучший вариант на мой взгляд. Создайте проект Maven, копируйте / перемещайте источники, ресурсы, тесты, тестовые ресурсы в соответствующие каталоги, объявляйте зависимости и т. Д.
источник
Для преобразования в Gradle является аналогом Maven:
Щелкните правой кнопкой мыши Project -> подменю Configure -> Convert to Gradle (STS) Project
источник