как узнать версию maven

Язык программирования Scala

Apache Maven — это популярная система управления проектами для платформы Java. Поскольку все Scala-приложения являются JVM-приложениями, Вы можете использовать Maven для всех задач, связанных со сборкой Ваших Scala-проектов.

Для чего именно необходим Maven?

Maven способен решить множество типовых задач, связанных с автоматизацией сборки проектов. Перечислим наиболее из таких задач:

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

Какие альтернативы Maven существуют?

Среди разработчиков Scala популярностью пользуется программный продукт SBT, позволяющий управлять зависимостями, а также составлять сценарии сборки на предметно-ориентированном языке (DSL), написанном на Scala.

Если Вы выбрали SBT, то Вы уже в деталях разобрались с особенностями данной платформы, и для Вас не составит труда перевести инструкции для Maven, приводимые в наших курсах, в соответствующие инструкции для SBT.

Как проверить, установлен ли Maven?

Проверьте версию Maven:

Инструкции по установке примерно одинаковы для всех операционных систем. Пользователям Mac OS X производить установку не требуется: Maven версии 3 будет установлен вместе с пакетом JDK.

Распакуйте архив в выбранный Вами каталог инсталляции:

Убедитесь, что Maven установлен корректно:

Maven установлен успешно

Apache Maven запускается в терминале с помощью команды mvn с различными параметрами. Запомните эту команду.

Источник

Apache Maven — основы

После публикации топика о Maven в комментариях возникли вопросы о том, как начать с ним работать, с чего начать, как составлять файлы pom.xml, откуда брать плагины и т.п. Данный топик будет своего рода getting started или f.a.q.

Терминология

Как в любой системе, в Maven, есть свой набор терминов и понятий.

Вся структура проекта описывается в файле pom.xml (POM – Project Object Model), который должен находиться в корневой папке проекта. Ключевым понятием Maven является артефакт — это, по сути, любая библиотека, хранящаяся в репозитории. Это может быть какая-то зависимость или плагин.

Зависимости — это те библиотеки, которые непосредственно используются в вашем проекте для компиляции кода или его тестирования.

Плагины же используются самим Maven’ом при сборке проекта или для каких-то других целей (деплоймент, создание файлов проекта для Eclipse и др.).

В самом начале работы с Maven, пользователь непременно столкнется с таким понятием как архетип. Архетип — это некая стандартная компоновка файлов и каталогов в проектах различного рода (веб, swing-проекты и прочие). Другими словами, Maven знает, как обычно строятся проекты и в соответствии с архетипом создает структуру каталогов.

Как правило, название артефакта состоит из названия группы, собственного названия и версии. К примеру Spring будет иметь вот такое название в среде Maven: org.springframework.spring:2.5.5. Последний домен означает всегда artifactId, все, что перед ним – groupId – хорошо это запомните!

На жизненном цикле останавливаться не буду, так как он хорошо описан в вышеобозначенной статье. А теперь перейдем к практике.

Установка Maven

Последнюю версию всегда можно скачать на странице загрузки на официальном сайте. Просто распаковываем архив в любую директорию. Далее необходимо создать переменную в Path, в которой необходимо указать путь к Maven. Заходим в Win + Pause – Дополнительно – Переменные среды – в верхнем окошке нажимаем Создать, вводим имя M2_HOME и значение допустим “C:\apache-maven-2.2.1”. Далее там же создаем еще одну переменную M2 со значением %M2_HOME%\bin. Так же убеждаемся, что есть переменная JAVA_HOME с путем к JDK. Ее значение должно быть примерно таким «c:\Program Files\Java\jdk1.6.0_10\». И наконец в том же окошке создаем/модифицируем переменную Path, в нее необходимо просто написать %M2%, чтобы наша папочка с исполняемым файлом Maven была видна из командной строки. Теперь необходимо проверить работоспособность нашей установки. Для этого заходим в командную строку и вводим команду

Должна появиться информация о версиях Maven, jre и операционной системе, что-то вроде:

Maven создаст вам локальный репозиторий в вашей личной папке, например в каталоге C:\Documents and Settings\username\.m2\repository

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

Создание приложения из архетипа

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

Итак, допустим нас интересует веб-приложение – находим подходящий архетип, называется он maven-archetype-webapp. В командной строке, в необходимом каталоге выполняем команду Maven:

Теперь мы можем лицезреть довольно наглядную структуру каталогов с говорящими названиями java – здесь будут ваши классы, webapp – здесь размещаются странички веб-приложения, resources – различного рода ресурсы в classpath (файлы конфигурации, например), test – юнит-тесты, соответственно и т.п.

Сборка проекта

Здесь все просто – выполняем команду

в корневом каталоге приложения, там, где находится файл pom.xml. Первая команда скомпилирует ваш проект и поместит его в папку target, а вторая еще и положит его к вам в локальный репозиторий.

Есть полезная функция, наподобие конвеера, то есть можно написать

и Maven сначала очистит папку target проекта, потом соберет его и положит в репозиторий.

Минимальный набор действий для работы Maven мы изучили, теперь переходим к кастомизации и добавлению зависимостей проекта.

Зависимости и репозитории

Как правило, большинство популярных библиотек находятся в центральном репозитории, поэтому их можно прописывать сразу в раздел dependencies вашего pom-файла. Например чтобы подключить Spring Framework необходимо определить следующую зависимость:

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

Специфические вещи обычно не находятся в центральном репозитории и тогда вам придется указать репозиторий производителя вручную. Для примера добавим зависимость JSF-фреймворка ajax-компонентов JBoss RichFaces.

С зависимостями все просто:

А вот репозиторий JBoss теперь необходимо прописать ручками либо в файле settings.xml, который лежит в корне вашего локального репозитория, либо в самом файле pom.xml, в зависимости от того, нужен ли данный репозиторий во всех проектах, либо в каком-то одном конкретном, соответственно:

Как правило на сайтах крупных проектов пишут всю информацию, необходимую для встраивания их библиотеки в проект на основе Maven, но бывают случаи, когда артефакт приходится искать очень и очень долго. Здесь нам очень сильно может помочь MVNrepository.com — он вам всегда подскажет где может находиться искомая библиотечка. Но если уж и там не нашлось, то из собственного опыта могу посоветовать гуглить « pom.xml». Бывает так, что проекты уже давно закрыты и в репозитории не положены потому что разработчики уже не заботятся об их распространении. Тогда остается один единственный способ – добавить файл в репозиторий вручную командой:

Последний параметр чаще всего имеет значение jar.

Плагины

Так как плагины являются такими же артефактами, как и зависимости, то они описываются практически так же. Вместо раздела dependencies – plugins, dependency – plugin, repositories – pluginRepositories, repository – pluginRepository.

Плагинами Maven делает все, даже непосредственно то, для чего он затевался – сборку проекта, только этот плагин необязательно указывать в свойствах проекта, если вы не хотите добавить какие-то фичи.

Посмотрим как настроить плагин для создания проекта для Eclipse с использованием WTP ver. 2.0. В раздел plugins нашего pom.xml прописываем следующий плагин:

Теперь идем опять таки в командную строку и выполняем команду

Ждем пока Maven найдет все библиотеки в репозитории или скачает их и вуаля – теперь наш Maven-проект можно открыть как проект eclipse. При этом библиотеки никуда не копируются как при классическом подходе, а остаются в репозитории и Eclipse делает на них ссылку через свои переменные.

Единого списка всех плагинов естественно не существует, на официальном сайте только есть поддерживаемые плагины непосредственно разработчиками Maven. Однако хотелось бы отметить, что названия плагинов довольно прямолинейны и сделав поиск по ключевым словам «maven tomcat plugin» вы скорее всего обнаружите первой ссылкой плагин для деплоймента проекта в Tomcat.

Собственный репозиторий

К сожалению сам не имею большого опыта настройки репозитория, но могу посоветовать как наиболее простой и распространенный Nexus. За дополнительной информацией следует обратиться на сайт данного проекта.

Однако нельзя оставить без внимания и достойных конкурентов в лице Artifactory и Archiva.

Источник

Живой сайт об актуальных проектах

User Tools

Site Tools

Sidebar

как узнать версию maven. broadview software. как узнать версию maven фото. как узнать версию maven-broadview software. картинка как узнать версию maven. картинка broadview software.

Table of Contents

Maven FAQ

Основные ссылки по Maven:

Что такое сборка проекта, автоматизация сборки?

Что такое Maven? Как он работает?

Если собирать большие проекты с командной строки, то команда для сборки будет очень длинной, поэтому её иногда записывают в bat/sh скрипт. Но такие скрипты зависят от платформы. Для того чтобы избавиться от этой зависимости и упростить написание скрипта, используют инструменты для сборки проекта.

Maven обеспечивает декларативную, а не императивную сборку проекта. То есть, в файлах проекта pom.xml содержится его описание, а не отдельные команды. Все задачи по обработке файлов в Maven выполняется через плагины.

Какие преимущества Maven?

Основные преимущества Maven:

Какие недостатки Maven?

Какими аспектами управляет Maven?

Вот основные аспекты, которыми позволяет управлять Maven:

Как узнать, какую версию Maven вы используете?

Версию можно узнать с помощью следующей команды:

Для чего был создан Maven?

Основной целью Maven является предоставление разработчику:

Структура и содержание проекта Maven указывается в специальном xml-файле, который назывется Project Object Model (POM), который является базовым модулем всей системы.

Какая структура каталогов в Maven?

src/main/javaApplication/Library sourcesисходный код приложения или библиотеки
src/main/resourcesApplication/Library resourcesресурсы приложения или библиотеки
src/main/filtersResource filter filesфайлы с параметрами фильтрации ресурсов
src/main/webappWeb application sourcesисходный код веб-приложения
src/test/javaTest sourcesисходный код тестов (юнит-тестов)
src/test/resourcesTest resourcesресурсы юнит тестов
src/test/filtersTest resource filter filesфайлы с параметрами фильтрации ресурсов для тестов
src/itIntegration Tests (primarily for plugins)интеграционные тесты (в основном для плагинов)
src/assemblyAssembly descriptorsдескрипторы сборки
src/siteSiteвебсайт приложения (документация)
LICENSE.txtProject’s licenseлицензионное соглашение проекта
NOTICE.txtNotices and attributions required by libraries that the project depends onзамечания и необходимые атрибуты библиотек, от зависит проект
README.txtProject’s readmeкраткое описание проекта

Где хранятся файлы классов при компиляции проекта Maven?

Что такое pom.xml?

Во время выполнения задач, Maven ищет файл pom.xml в базовой директории проекта. Он читает его и получает необходимую информацию, после чего выполняет задачи.

содержит ссылку на схему XML, которая облегчает редактирование и проверку pom.xml :

Внутри тега project содержится основная и обязательная информация о проекте.

Какую информацию содержит pom.xml?

Среди информации которую содержит pom.xml, мы можем выделить следующие блоки:

Что такое супер POM?

Какие элементы необходимы для минимального POM?

Что такое зависимости в Maven?

Что такое артефакт в Maven?

Что такое плагин в Maven?

Что такое задача в Maven?

Что такое архетип в Maven?

Что такое репозитарий в Maven?

Какие типы репозитария существуют в Maven?

В Maven существуют три типа репозитариев:

Какая команда устанавливает JAR-файл в локальное хранилище (репозитарий)?

Какой порядок поиска зависимостей Maven?

Когда мы выполняем собрку проекта в Maven, автоматически начинается поиск необходимых зависимостей в следующем порядке:

Какие два файла настройки есть в Maven, как они называются и где расположены?

Что такое жизненный цикл сборки в Maven?

Назовите основные фазы жизненного цикла сборки Maven?

Когда Maven начинает сборку проекта, он проходит через определённую последовательность фаз сборки, и выполняет определенные задачи, которые указаны в каждой из фаз.

В Maven есть следующие три стандартных жизненных цикла:

Что делает команда mvn site?

создает веб-сайт проекта.

Что делает команда mvn clean?

эта команда очищает целевую директорию от созданных в процессе сборки файлов.

Из каких фаз состоит жизненный цикл сборки Clean?

Жизненный цикл сборки Clean состоит из следующих этапов:

Из каких фаз состоит жизненный цикл сборки Default (Build)?

Здесь также необходимо уточнить два момента:

Из каких фаз состоит жизненный цикл сборки Site?

Жизненный цикл сборки Site состоит из следующих этапов:

Что сделает команда «mvn clean dependency:copy-dependencies package»?

Порядок выполнения зависит от порядка вызова целей и фаз. Рассмотрим данную команду:

Аргументы clean и package являются фазами сборки, в то время как “ dependency:copy-dependencies ” является задачей.

Что такое профиль сборки (Build Profile)?

Используя профиль сборки Maven, мы можем настраивать сборку для различных окружений, таких как Development или Production.

Профили настраиваются в файле pom.xml с помощью элементов activeProfiles / profiles и запускаются различными методами.

Какие типы профилей сборки (Build Profiles) вы знаете?

В Maven существует три основных типа профилей сборки :

Как вы можете активировать профили сборки?

Профиль сборки Maven может быть активирован различными способами:

Для чего используются Maven плагины?

Maven плагины используются для:

Какие типы плагинов существуют в Maven?

В Maven существует два типа плагинов:

Когда Maven использует внешние зависимости?

Если необходимые файлы не найдены ни в центральном, ни на удалённом репозитарии, тогда для решения этой проблемы используются внешние зависимости.

Что нужно определить для внешней зависимости?

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

Какая команда создает новый проект на основе архетипа?

Переходим в нужную нам директорию и выполняем в терминале следющую команду:

Что такое SNAPSHOT в Maven?

В чем разница между snapshot и версией?

В случае со snapshot, Maven автоматически будет подтягивать крайний snapshot ( data-service:1.0-SNAPSHOT ) каждый раз, когда будет выполнятся сборка проекта.

Что такое транзитивная зависимость в Maven?

Как Maven определяет, какую версию зависимостей использовать, когда встречается множественный вариант выбора?

Что такое область видимости зависимостей (dependency scope)? Назовите значения dependency scope.

Существуют следующие области видимости зависимостей :

Какой минимальный набор информации нужен для составления ссылки зависимостей в разделе dependencyManagement?

Как сослаться на свойство(property) определенное в файле pom.xml?

Для чего нужен элемент в POM файле?

Элемент содержит информацию, необходимую для выполнения плагина.

Каким образом можно исключить зависимость в Maven?

Что является полным именем артефакта?

Если вы не определяете никакой информации, откуда ваш POM унаследует её?

Все POM-ы наследуются от родителя, несмотря на то, определен ли он явно или нет. Это базовый POM известный как “супер POM”, он содержит значения, которые наследуются по умолчанию.

При сборке проекта Maven постоянно проверяет наличие обновлений в интернете. Можете ли вы собрать проект без интернета?

Да, можете, если в вашем локальном репозитарии есть все необходимые для сборки артефакты.

Если при сборке проекта в тестах произошла ошибка, как собрать проект без запуска тестов?

Как запустить только один тест?

Источник

Номер версии Maven в java файле

Я могу представить несколько способов достичь этого, но есть ли способ сделать это лучше всего в проекте Maven?

Кроме того, вы можете явно написать новый файл version.properties с помощью фильтрации ресурсов.

Если вы поместите в свой POM следующее:

а затем поместите шаблон version.properties в каталог src/main/resources, который выглядит следующим образом:

Я передам вам эту тему на SO: Как прочитать файл внешних свойств в Maven. В частности, проверьте ответ от Dougnukem, который описывает, как читать файл внешних свойств в Maven. Вы можете использовать это как общий источник для управления номером версии как в вашей Maven build script, так и в вашем приложении Java.

Возможно, если вы придумаете немного больше об этом требовании, мы сможем помочь вам в более элегантном решении для вашей проблемы. Nmely, что это за второе приложение, запускается с Maven, если да, то на какой стадии процесса сборки он запускается? Каково взаимодействие этого приложения и Maven?

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

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

Фильтрация. Как отмечали другие, возможно, что Maven фильтрует файл ресурсов. этот файл может быть java файлом, в который вы вставляете текущий номер версии, и вызываете этот файл из другого приложения.

Интегрируйте свою старую конструкцию Ant в Maven: вы можете напрямую вызвать некоторые фрагменты Ant или завершить Ant строить из Maven. Это дало бы вам гибридную систему сборки, которая, вероятно, не самая лучшая, но все же позволит вам немного отдохнуть в процессе миграции и управлять старыми скриптами Ant, медленно переносящими фрагменты функциональности до Maven. Не то, чтобы это было не так уж плохо, если учесть, что у них есть сочетание двух, только что Maven предоставляет множество жестких проводных или квази-жестких правил проводной конфигурации, которые могут помешать Ant script. В этом отношении может быть трудно заставить обоих играть хорошо друг с другом.

Управляйте своей сборкой Maven из ant: вы также можете делать обратное, то есть управлять процессом сборки Maven из Ant, таким образом, сохраняя контроль над тем, как вы вызываете вашу другую систему. Интегрируя правильные вещи (такие как свойства или фильтр), вы можете гарантировать, что Maven генерирует необходимый артефакт из определенного проекта, который вы можете использовать позже, в Ant script. Обратите внимание, что документы для этой задачи не очень сложны, вам, возможно, придется немного поиграть, чтобы заставить ее работать, но по крайней мере вы были бы в знакомой среде.

Без дополнительной информации о том, как эти две системы взаимодействуют, и почему вам нужна эта информация, вам сложно разобраться в себе.

Источник

Maven. Часть 1 – Знакомство и настройка

На мой взгляд Maven – это инструмент, без которого нельзя обойтись не одному Java программисту. Что такое Maven и для чего он нужен вы узнаете в этой статье.

Шаг 1. Знакомство с Maven

Apache Maven — фреймворк для автоматизации сборки проектов, специфицированных на XML-языке POM(Project Object Model).

Maven, в отличие от другого сборщика проектов Apache Ant, обеспечивает декларативную, а не императивную сборку проекта. То есть, в файлах проекта pom.xml содержится его декларативное описание, а не отдельные команды. Все задачи по обработке файлов Maven выполняет через плагины.

как узнать версию maven. maven plane. как узнать версию maven фото. как узнать версию maven-maven plane. картинка как узнать версию maven. картинка maven plane.

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

Шаг 2. Установка Maven в OS Windows

Для начало скачаем Framework Maven.

На момент написания статьи самая новая версия Maven 3.0.5 скачать можно тут: http://maven.apache.org/download.cgi (apache-maven-3.0.5-bin.zip)

После того как мы скачали Maven, начинаем его установку.

1. Распаковываем zip архив в любую удобную для вас директорию, я распаковываю в корень диска для удобства C:\\apache-maven-3.0.5

2. Создаем переменную среды с именем M2_HOME.

3) В этом же диалоговом окне создайте переменную с именем M2 и присвойте ей значение %M2_HOME%\bin

4) Здесь же создайте еще переменную MAVEN_OPTS и присвойте ей значение -Xms256m или -Xmx512m. Это зависит от настроек вашей виртуальной машины. Данный пункт является необязательным, он просто дает некоторые дополнительные возможности для Maven.

5) Здесь же создайте или измените переменную Path, присвоив ей значение %M2%. Данное действие позволит нам работать с Maven через командную строку.

6) Также убедитесь, что у вас есть переменная с именем JAVA_HOME и она содержит путь к вашему JDK. К примеру: C:\Program Files\Java\jdk1.7.0

7) Откройте командную строку и выполните в ней mvn —version, чтобы убедиться в корректной установке. Вы должны увидеть информацию о текущей версии Maven.

Шаг 3. Установка Maven в Intellij IDEA

Или же если вы пользуетесь средой разработки Intellij IDEA, то достаточно зайти в Maven и установить путь: C:\\apache-maven-3.0.5 :

Источник

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *