English | 简体中文 | 繁體中文 | Русский язык | Français | Español | Português | Deutsch | 日本語 | 한국어 | Italiano | بالعربية
Этот учебник подготовлен для начинающих, чтобы помочь им понять основные функции инструмента 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 может помочь разработчику выполнить следующие задачи:
Сборка
Создание документации
Отчеты
Зависимости
SCMs
Публикация
Распространение
Списки рассылки
Maven рекомендует использовать единообразную структуру каталогов, Maven использует принцип соглашения вместо конфигурации, пожалуйста, постарайтесь следовать этой структуре каталогов. Вот так:
Каталог | Цель |
---|---|
${basedir} | Местоположение pom.xml и всех подкаталогов |
${basedir}/src/main/java | Java-исходные коды проекта |
${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.java | Maven автоматически запускает тестовые классы, соответствующие этому правилу именования. |
~/.m2/repository | Местоположение по умолчанию локального хранилища 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.