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