Если вы можете использовать Maven, идите с Maven. И не смейте пытаться изменить стандартные каталоги! Черт возьми, даже когда мы используем Ant, я настаиваю на том, чтобы мы устанавливали каталоги как Maven. Таким образом, новые разработчики знают, где что находится, или должны проследить через build.xml
, чтобы найти, где что находится. Другое дело, что если вы используете Ant, вы также должны использовать Ivy . Таким образом, вы получаете обработку зависимостей Maven в Ant.
Большая ирония в том, что, как только мы используем Ant и Ivy и придерживаемся стандартной структуры каталогов Maven, переход от Ant к Maven становится несложным делом. Но нужно , чтобы перейти в Maven, также уменьшена. Наш build.xml
прост и понятен. Все файлы находятся в нужном месте. Сборки быстрые, простые и простые в обслуживании. Кому нужен Maven?
Проблема в том, что, как только мы достигнем этого состояния Нирваны, мы не сможем направить проект обратно в штат Нью-Джерси. Разработчики начинают вырезать исключения в нашем build.xml
. Не компилируйте этот *.java
файл. Переместите этот *.xml
в наш каталог java
, поместите тестовый код в каталог main
, но мы поместим имя test
в файл, чтобы мы знали, что это тестовый код ... Новые и сложные вещи сделанный. И, так или иначе, мы вернулись в Secaucus.
Итак, как только я получил свой Ant-проект, достаточно чистый и аккуратный, чтобы перейти в Maven, я совершил прыжок.
Еще одна вещь: Maven позволяет очень и очень просто копировать проект с одного компьютера на другой. Maven обрабатывает все зависимости, даже сборку. Не более, вам нужно AntContrib , или вам нужно загрузить hibernate Ant задачи . Если вам что-то нужно, оно загрузится само. Это одна из главных причин, почему Maven так популярен на многих сайтах с открытым исходным кодом.
Моя большая жалоба на Мейвена состоит в том, что он так плохо документирован. Вики есть, но контента почти нет, а руководств очень мало.