Преобразование существующего проекта в проект maven

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

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

Ответы

Ответ 1

Хорошо. Я в конечном счете переместил проект на maven. Вот что я сделал.

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

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

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

Иди сюда! Легкий peasy!

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

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

Ответ 2

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

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

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

Ответ 3

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

Существует немало интересных статей о преобразовании проекта ant project в maven, который вы должны прочитать. Вот первый хит по поиску google http://www.sonatype.com/people/2009/04/how-to-convert-from-ant-to-maven-in-5-minutes/

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

Ответ 4

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

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