Преобразование существующего проекта в проект 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 и конфигурацию в папку ресурсов.
то вы можете добавить каждую зависимость, необходимую вашему проекту из журнала ошибок компиляции.