Автор оригинала: Scott Robinson.
Мэйвен Объяснила
Apache Maven – это инструмент автоматизации сборки для Java-проектов. Подумайте о муравье или Сделайте, но намного мощнее и проще в использовании. Если вам когда-либо приходилось иметь дело с созданием Java-проекта с зависимостями или специальными требованиями к сборке, то вы, вероятно, прошли через разочарования, которые Maven стремится устранить.
В этой статье я расскажу немного больше об инструменте, о том, как он используется, и, надеюсь, отвечу на ваш вопрос – Что такое Maven?
Почему Maven полезен?
Maven является проектом с открытым исходным кодом под управлением Apache с 2003 года, а до этого он начинался с Sonatype. Учитывая его мощную поддержку и огромную популярность, Maven очень стабилен и многофункциональен, предоставляя множество плагинов, которые могут делать все, что угодно, от создания PDF-версий документации вашего проекта до создания списка последних изменений из вашего SCM. И все, что требуется для добавления этой функции, – это небольшое количество дополнительного XML или дополнительный параметр командной строки.
У вас много зависимостей? Без проблем. Maven подключается к удаленным репозиториям (или вы можете настроить свои собственные локальные репозитории) и автоматически загружает все зависимости, необходимые для создания вашего проекта.
Например, допустим, у вас есть проект, в котором используется инструмент маршрутизации Camel от Apache версии 2.10.6, но затем выпускается новая версия Camel, 2.11.1. Вместо того, чтобы заходить на веб-сайт Apache, загружать дистрибутив 2.11.1 и заменять им 2.10.6, вы можете просто сказать Maven использовать новый дистрибутив, и работа будет выполнена за вас. Не то чтобы трудно загрузить один пакет Java и поместить его в папку вашего проекта, но подумайте о том, чтобы делать это для нескольких зависимостей каждый раз, когда одна из них обновляется. Это небольшой промежуток времени, но складывается быстро.
Как вы используете Maven?
Использование Maven чрезвычайно просто, как только вы изучите несколько основных концепций. Каждый проект содержит файл, называемый POM ( Объектная модель проекта ), который представляет собой просто XML-файл, содержащий подробную информацию о проекте. Некоторые из этих сведений могут включать имя проекта, версию, тип пакета, зависимости, плагины Maven и т.д.
А (очень) просто pom.xml файл может выглядеть примерно так:
4.0.0 com.stackabuse.myproject myproject jar 1.0-SNAPSHOT myproject http://stackabuse.com maven-myquery-plugin 1.0 http://foobar.com 10 org.apache.camel camel-core 2.11.1 org.apache.camel camel-http 2.11.1 junit junit 3.8.1 test
Не беспокойтесь обо всех мелких деталях в этом XML, просто обратите внимание, какое содержимое находится в pom.xml, например, имя, версия и зависимости. Именно здесь будет происходить большая часть вашего взаимодействия с Maven, в то время как остальное происходит с помощью вызовов командной строки.
Чтобы на самом деле запустить Maven, все, что вам нужно сделать, это перейти в папку проекта и запустить:
$ mvn [command]
Команда может заключаться в нескольких вещах, но назвать некоторые из них:
тест: Запускает все тесты для проектаочистить: Удаляет все старые файлы сборкипакет: Упаковывает проект в банку (или другой формат в зависимости от того, что было указано)установить: Помещает проект в локальное хранилище Mavenразвертывание: Помещает проект в удаленное хранилище Maven
Maven-это огромная тема, и это краткое введение было предназначено только для того, чтобы дать вам представление о том, что делает Maven, поэтому обязательно ознакомьтесь с приведенными ниже ресурсами для получения дополнительной информации о том, как его использовать на самом деле.
учить больше
Хотите узнать больше об Apache Maven? Попробуйте пройти онлайн-курс , например Ускоренный курс Maven , в котором будет рассказано гораздо больше подробностей, чем в этой статье. Он научит вас всему, как использовать этот важнейший инструмент автоматизации Java, например, его настройке, ключевым концепциям и даже интеграции в Eclipse. Серьезно, сэкономьте себе немного времени и учитесь у одного из лучших существующих ресурсов.