English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية

Учебник Maven

Этот учебник подготовлен для начинающих, чтобы помочь им понять основные функции инструмента Maven. После завершения этого учебника вы обнаружите, что у вас есть средний уровень профессиональных знаний в использовании Apache Maven, и вы можете перейти на более высокий уровень.

Maven переведено как "эксперт" или "специалист", это开源项目, разработанный на纯 Java в Apache. На основе концепции модели объекта проекта (сокращенно: POM), Maven использует центральную информацию, чтобы управлять шагами 构建, отчетов и документации проекта.

Maven - это инструмент управления проектами, который может использоваться для строительства и управления проектами Java.

Maven также может использоваться для строительства и управления различными проектами, такими как проекты, написанные на C#, Ruby, Scala и других языках. Maven был подпроектом Jakarta, а теперь является независимым проектом Apache, который управляется Apache Software Foundation.

Знания, которые вам нужно знать перед чтением этого руководства

Этот курс в основном предназначен для начинающих, чтобы помочь им изучить основные функции инструмента Maven. После завершения этого курса ваши знания Apache Maven将达到 средний уровень, после чего вы можете продолжить изучение более продвинутых знаний.

Для чтения этого руководства вам потребуется следующая база знаний:Java-базовые знания.

Функции Maven

Maven может помочь разработчику выполнить следующие задачи:

  • Сборка

  • Создание документации

  • Отчеты

  • Зависимости

  • SCMs

  • Публикация

  • Распространение

  • Списки рассылки

Установленные соглашения

Maven рекомендует использовать единообразную структуру каталогов, Maven использует принцип соглашения вместо конфигурации, пожалуйста, постарайтесь следовать этой структуре каталогов. Вот так:

КаталогЦель
${basedir}Местоположение pom.xml и всех подкаталогов
${basedir}/src/main/javaJava-исходные коды проекта
${basedir}/src/main/resourcesРесурсы проекта, например, файлы свойств, springmvc.xml
${basedir}/src/test/javaТестовые классы проекта, например, код JUnit
${basedir}/src/test/resourcesРесурсы для тестирования
${basedir}/src/main/webapp/WEB-INFДиректория файлов веб-приложения, информация о веб-проекте, например, хранение web.xml, локальных изображений, страниц jsp-видов
${basedir}/targetДиректория для打包 вывода
${basedir}/target/classesДиректория для компиляции вывода
${basedir}/target/test-classesДиректория для компиляции тестового вывода
Test.javaMaven автоматически запускает тестовые классы, соответствующие этому правилу именования.
~/.m2/repositoryМестоположение по умолчанию локального хранилища Maven

Функции Maven

  • Настройки проекта следуют единым правилам.

  • Общий для всех проектов.

  • Управление зависимостями включает автоматическое обновление.

  • Обширная и постоянно растущая библиотека.

  • Масштабируемый, легко пишется плагин на Java или скриптовых языках.

  • Доступ к новым функциям возможен без необходимости в дополнительной конфигурации.

  • Build на основе модели − Maven может строить любое количество проектов в предварительно определенный тип выходных файлов, такие как JAR, WAR или распространение на основе метаданных проекта, не требуя выполнения сценариев в большинстве случаев.

  • Унифицированный сайт информации о проекте − Используя метаданные, такие как процесс 构建, Maven может генерировать веб-сайт или PDF, включая любые добавленные вами документы, и добавлять их в стандартные отчеты о состоянии разработки проекта.

  • Управление发布ами и публикацией отдельных выходных файлов − Maven может интегрироваться с системой управления исходным кодом (например, Subversion или Git) без дополнительной конфигурации и может управлять发布ами проекта на основе метки. Он также может публиковать отдельные выходные файлы, такие как JAR, архивы, содержащие другие зависимости и документацию, или публиковать как исходный код.

  • Вероятность обратной совместимости − Вы можете легко迁移 из нескольких модулей старой версии Maven в Maven 3.

  • При использовании зависимостей родительского проекта подпроектом, в нормальных условиях подпроект должен наследовать зависимости родительского проекта, не используя номер версии,

  • Параллельный build − Скорость компиляции может увеличиться на 20 - 50 %.

  • Лучшая отчетность об ошибках − Улучшено отчетность об ошибках, которая предоставляет вам ссылку на страницу wiki Maven, где вы можете щелкнуть по ссылке и увидеть полное описание ошибки.

    Apache Maven — это инструмент управления проектами и понимания программного обеспечения. На основе концепции модели объекта проекта (POM), Maven может управлять построением, отчетностью и документацией проекта. Используя Maven, мы можем строить и управлять любыми проектами на Java. Этот учебник покажет вам, как использовать Maven в повседневной работе над проектами на Java.