Преобразовать существующий проект в Maven проект - PullRequest
17 голосов
/ 21 августа 2011

Когда я начал свой проект, я не знал о Maven .. Я понял важность этого после того, как проект уже вырос до довольно большого размера.В то время я был действительно в быстром развитии, поэтому я действительно не хотел прерывать процесс.Итак, я отложил включение Maven в проект.Теперь у меня немного передышки, поэтому я бы хотел добавить maven в проект.

Что вы предлагаете мне сделать, или я должен даже сделать это?У меня есть Spring, Struts, Log4J, Hibernate и JAX-RS в проекте.

Ответы [ 4 ]

26 голосов
/ 04 мая 2012

Ладно .. В конце концов, я переключил проект на Maven. Вот что я сделал.

  1. Загрузите плагин m2e eclipse. Это твой лучший друг!
  2. Создайте скелетный мавенский проект. src / main / java - это место, где должен находиться ваш код. Переместите ваш код в папку src / main / java. Вы можете продолжать использовать существующую структуру пакета. Не нужно это менять. Даже изменение кода не требуется, так как maven устанавливает src / main / java в качестве исходной папки, поэтому вам не нужно изменять объявления пакетов.
  3. Переместите ваши юнит-тесты в src / test / java. Опять же, нет необходимости изменять объявления пакетов.
  4. НЕ копируйте свои библиотеки и банки.
  5. Проверьте все ошибки компиляции, вызванные отсутствующими банками.
  6. Добавить зависимость каждого отсутствующего фляги в pom.xml. Вы можете получить зависимость от веб-сайтов репозитория Maven. Если вы уже проиндексировали репозитории в плагине m2e, то вы можете просто найти зависимость в плагине и добавить ее прямо там.

Если у вас есть многомодульный проект, преобразуйте другие модули в maven, как описано выше, и добавьте зависимый модуль в pom.xml другого модуля.

Если у вас есть пользовательские jar-файлы, не основанные на maven, вы можете добавить их в папку src / main / resources, а затем добавить jar-файл для построения пути.

Вот, пожалуйста! Легко peasy!

У меня есть скелетный проект для Spring + Maven + EC2. Вы можете использовать это для создания, настройки maven и автоматизации процесса развертывания.

https://github.com/varunachar/maven-release

4 голосов
/ 21 августа 2011

Я столкнулся с точно такой же ситуацией, как и вы.В дополнение к maven я перешел с JavaEE5 на JavaEE6.Я выполнил миграцию шаг за шагом:

  • Создание проекта maven
  • Создание нескольких модулей для проекта maven в зависимости от старой структуры
  • Перенесенные классы изстарый проект в проект maven и добавили эти классы в качестве jar-файла к старому проекту

Благодаря этому вы плавно переходите от существующей структуры к Maven.В конце концов, вы все больше и больше получаете выгоду от своих maven структур и всегда можете развивать свой проект.

2 голосов
/ 21 августа 2011

Сложность зависит от того, сколько вы знаете о Maven и насколько велик ваш проект.Всегда легче сначала поиграть с небольшим проектом и посмотреть, как он идет.Не имеет значения, от каких библиотек это зависит, если они находятся в центральном хранилище maven или в известном онлайн-хранилище.Если библиотеки, к которым вы предъявляете иск, отсутствуют в каких-либо онлайн-репозиториях Maven, вам потребуется развернуть файлы JAR либо локально, либо в вашем собственном онлайн-хранилище.Если вы не можете найти хороший хостинг, вы можете даже поставить его на Github.Вот трюк .

Есть довольно много интересных статей по конвертации проекта ant в проект maven, которые вы должны прочитать.Вот первое попадание в поиске Google http://www.sonatype.com/people/2009/04/how-to-convert-from-ant-to-maven-in-5-minutes/

Мой единственный комментарий - максимально эффективно использовать вашу среду IDE при конвертации проектов.Например, используйте функции рефакторинга в вашей среде IDE при перемещении кодов.Для меня я обнаружил, что поддержка maven в Netbeans чрезвычайно полезна и проста в использовании.

1 голос
/ 07 августа 2017

В eclipse вы можете преобразовать захватывающий проект в Maven просто с помощью плагина m2e-eclipse .

но в intllje вы можете создать новый проект maven, а затем просто переместить класс в src / java / имя_пакета и сконфигурировать в папку ресурсов. затем вы можете добавить все зависимости, необходимые вашему проекту, из журнала ошибок компиляции.

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