Что оно делает
Maven является «инструментом управления сборкой», то для определения того, как ваши .java
файлы компилируются в .class
, упакованы в .jar
(или .war
или .ear
) файлы (до / после) , обработанных с помощью инструментов, управления вашим CLASSPATH
, а всех остальных родов задач, которые необходимы для построить свой проект Он похож на Apache Ant или Gradle или Makefiles в C / C ++, но он пытается быть полностью автономным в нем , что вам не нужно никаких дополнительных инструментов или сценарии, включив другие общие задачи , такие как загрузки и установки необходимых библиотек и т.д.
Он также разработан вокруг темы «сборка переносимости», поэтому у вас не возникает проблем, связанных с тем, что один и тот же код с одним и тем же сценарием сборки работает на одном компьютере, но не на другом (это известная проблема, у нас есть виртуальные машины Windows 98 машин, так как мы не смогли собрать некоторые наши приложения Delphi где-либо еще). По этой причине это также лучший способ работать над проектом между людьми, которые используют разные IDE, поскольку созданные в IDE Ant-сценарии сложно импортировать в другие IDE, но в настоящее время все IDE понимают и поддерживают Maven ( IntelliJ , Eclipse и NetBeans ). Даже если вам не понравится Maven, он станет отправной точкой для всех других современных инструментов сборки.
Почему вы должны использовать это
В Maven есть три вещи, которые очень хороши.
Maven (после того, как вы объявите, какие из них вы используете) автоматически загрузит все библиотеки, которые вы используете, и библиотеки, которые они используют для вас. Это очень хорошо, и делает смехотворным легко работать со многими библиотеками. Это позволяет избежать «ада зависимости» . Это похоже на плющ Apache Ant's .
Он использует « Соглашение о конфигурации », так что по умолчанию вам не нужно определять задачи, которые вы хотите выполнить. Вам не нужно писать этапы «compile», «test», «package» или «clean», как это нужно делать в Ant или Makefile. Просто поместите файлы в те места, где Maven ожидает их, и это должно сработать.
В Maven также есть множество хороших плагинов, которые вы можете установить и которые будут выполнять многие рутинные задачи, от генерации классов Java из схемы XSD с использованием JAXB до измерения покрытия тестами с помощью Cobertura . Просто добавьте их к себе, pom.xml
и они будут интегрированы со всем, что вы хотите сделать.
Начальная кривая обучения крутая, но (почти) каждый профессиональный Java-разработчик использует Maven или пожелания, которые они сделали. Вы должны использовать Maven в каждом проекте, хотя не удивляйтесь, если вам понадобится некоторое время, чтобы привыкнуть к нему, и что иногда вам хочется просто что-то делать вручную, поскольку изучение чего-то нового иногда причиняет боль. Однако, как только вы по-настоящему привыкнете к Maven, вы обнаружите, что управление сборкой почти не занимает времени.
Как начать
Лучшее место для начала - « Maven за 5 минут ». Это позволит вам начать с проекта, готового для написания кода со всеми необходимыми настройками файлов и папок (да, я рекомендую использовать архетип быстрого запуска, по крайней мере, сначала).
После того, как вы начнете, вам нужно лучше понять, как этот инструмент предназначен для использования. Для этого " Better Builds with Maven " - самое тщательное место для понимания того, как он работает, однако, " Maven: The Complete Reference " более актуален. Прочитайте первый для понимания, но затем используйте второй для справки.