Я не знаю какого-либо хорошего автоматизированного способа сделать такую миграцию, потому что вещи могут быть слишком разными, поэтому я бы делал это вручную, шаг за шагом, и оставлял существующую сборку муравья параллельно будущей новой дозавершена вся миграция (как с технической, так и с человеческой точек зрения).
Сначала выполните рефакторинг существующей сборки Ant, чтобы привести ее в соответствие с соглашениями Maven:
- Сделать все модульным: если ваша существующая сборка представляет собой большую монолитную сборку, производящую несколько артефактов из одного дерева исходных текстов, разбейте их на отдельные модули, по одному для каждого артефакта.
- Обновите структуру каталогов: Maven поставляется со стандартной директорией , и, хотя есть возможность настроить эту компоновку (то есть настроить плагины для другой компоновки), это на самом деле не рекомендуется и является скорее источником проблем, чем преимуществ.Поэтому я бы переместил существующие источники приложений, файлы конфигурации, тесты и т. Д. В соответствии с макетом Maven (например,
src/main/java
для источников приложений и т. Д.).
Затем приступим к созданию сборки Maven:
- Создание POM для каждого модуля: Создание POM, объявление внешних библиотек как зависимостей Maven (возможно, добавление их в корпоративный репозиторий, использование корпоративного репозитория - хорошая практика на предприятиив любом случае), добавьте зависимости между модулями.
- Завершите сборку с несколькими модулями: Добавьте родительские (ые) POM (s) и отношения наследования / агрегации.Проверьте, нет ли регрессии с созданными артефактами.
Вы можете выполнить эту работу в отдельной ветке VCS, если вы не хотите ничего менять, пока работа не будет выполнена, и создать сценарии для перемещения объектов.,И когда все будет готово, объедините материал Maven и примените сценарии.