Первая лекция java for web maven Что

Скачать презентацию Первая лекция java for web maven  Что Скачать презентацию Первая лекция java for web maven Что

osnovy_java11(maven).pptx

  • Размер: 307.2 Кб
  • Автор:
  • Количество слайдов: 12

Описание презентации Первая лекция java for web maven Что по слайдам

Первая лекция java for web maven Первая лекция java for web maven

Что такое maven? Maven is a project development management and comprehension tool  сЧто такое maven? «Maven is a project development management and comprehension tool» с сайта maven. apache. org Apache Maven – это средство для управления и сборки проектов. Он позволяет разработчикам управлять жизненным циклом проекта. Благодаря этому, команда может автоматизировать процессы, связанные со сборкой, тестирование, упаковкой проекта и т. д. В случае, когда над проектом работает несколько команд разработчиков, Maven позволяет работать в соответствии с определенными стандартами создаёт базовую структуру проекта. Maven обеспечивает поведение проекта по умолчанию Разработчики несут ответственность только за соответственное размещение файлов. Логика работы Maven основана на репозиториях. Репозиторий — это хранилище библиотек и плагинов, которые автоматически скачиваются при упоминании в файле описания сборки.

Что важно для нас ? Независимость от платформы и IDE. Всё абсолютно идентично, какЧто важно для нас ? Независимость от платформы и IDE. Всё абсолютно идентично, как на Windows, так и на Linux/UNIX, Mac. OS и т. д. Мавен проект легко подхватывается в любой IDE, будь то Intelli. J IDEA, Eclipse или Net. Beans. Всё предельно просто и из командной строки или из самой среды IDE. Популярность. В настоящее время Maven используется повсеместно для ведения новых проектов в любой компании, и множество старых проектов также переводятся на него. Опыт с Maven будет полезен вам, если будете работать в области Java. Глобальные репозитории библиотек. Репозиторий содержащие все известные популярные Java-библиотеки, и множество малоизвестных. Возможность добавлять свои библиотеки и инструментарий в глобальные репозитории. Мавен сохраняет подключенные версии библиотек в локальном репозитории, позволяя работать с ними в условиях отсутствия связи с Интернет. Plug-in архитектура , дающая огромную гибкость и расширяемость под свои нужды. Множество уже готовых плагинов (существуют обширные репозитории Мавен-плагинов), простота в разработке и добавлении новых. Единый унифицированный цикл жизни любого проекта, от малых алгоритмических задач, разрабатываемых одним человеком, до огромных Enterprise приложений, в разработке и сопровождении которых заняты сотни и тысячи людей.

Начало работы с Maven В самом начале работы с Maven, пользователь непременно столкнется сНачало работы с Maven В самом начале работы с Maven, пользователь непременно столкнется с таким понятием как архетип. Архетип — это некая стандартная компоновка файлов и каталогов в проектах различного рода (веб, swing-проекты и прочие). Другими словами, Maven знает, как обычно строятся проекты и в соответствии с архетипом создает структуру каталогов. Maven уже предоставляет нам наиболее популярные архетипы для приложений, но вы можете легко создать свой. Допустим нас интересует веб-приложение – находим подходящий архетип, называется он maven-archetype-webapp. Выбереем нужный архетип. После этого мы имеем наглядную структуру каталогов с говорящими названиями java – здесь будут ваши классы, webapp – здесь размещаются странички веб-приложения, resources – различного рода ресурсы в classpath (файлы конфигурации, например), target — cкомпилированный байт-код test – юнит-тесты, соответственно и т. п.

Начало работы с Maven Структура и сожержание проекта Maven указывается в специальном xml-файле, Начало работы с Maven Структура и сожержание проекта Maven указывается в специальном xml-файле, который назывется Project Object Model ( pom. xml ), этот файл является базовым модулем всей системы. Ключевым понятием Maven является артефакт — это, по сути, любая библиотека, хранящаяся в репозитории. Это может быть какая-то зависимость или плагин. Плагины это настройки для управления жизненным циклом проекта и его зависимостями. Мы можем создавать проекты с использованием Maven без понимания того, как работают эти отдельные плагины. В Maven каждый проект идентифицируется парой group. Id artifact. Id. Во избежание конфликта имён, group. Id — наименование организации или подразделения и обычно действуют такие же правила как и при именовании пакетов в Java — записывают доменное имя организации или сайта проекта. artifact. Id — название проекта. . . . . . . . . . Внутри тэга version, хранится версия проекта. Если состояние кода для проекта не зафиксировано, то в конце к имени версии добавляется «-SNAPSHOT» что обозначает что версия в разработке. Тег определяет какого типа файл будет создаваться как результат сборки. Возможные варианты pom, jar, war, ear

Зависимости и репозитории Как правило,  большинство популярных библиотек находятся в центральном репозитории, Зависимости и репозитории Как правило, большинство популярных библиотек находятся в центральном репозитории, поэтому их можно прописывать сразу в раздел dependencies вашего pom-файла. Например чтобы подключить Log 4 j необходимо определить следующую зависимость: Так как плагины являются такими же артефактами, как и зависимости, то они описываются практически так же. Вместо раздела dependencies – plugins, dependency – plugin, repositories – plugin. Repositories, repository – plugin. Repository. log 4 j log 4 j 1. 2. 14

Объектная модель проекта определяет полную конфигурацию для какого-то единственного проекта. Конфигурация включает:  названиеОбъектная модель проекта определяет полную конфигурацию для какого-то единственного проекта. Конфигурация включает: название владельца зависимости от других проектов и конфигурацию индивидуальных фаз процесса сборки, реализуемую посредством плагинов. Например, мы можем указать использование Java version 1. 8 для компиляции, или специфицировать, что проект должен быть упакован, даже если несколько юнит-тестов не прошли. Большие проекты могут разделяться на несколько модулей или подпроектов, каждый со своим POM. Таким образом разрабатывается корневой POM, в котором описаны модули и с помощью которого можно скомпилировать все модули одной командой. Все POM-ы наследуют некий базовый супер-POM по умолчанию. В супер-POM определены source-каталоги и плагины по умолчанию. Таким образом, структура проекта представляет собой иерархию модулей и подмодулей иногда с достаточной большой глубиной.

Тэг build / не обязательный т. к. существуют значения по умолчанию. Этот раздел содержитТэг не обязательный т. к. существуют значения по умолчанию. Этот раздел содержит информацию по самой сборке: где находятся исходные файлы, где ресурсы, какие плагины используются. org. apache. maven. plugins maven-compiler-plugin 1. 8 1. 8 Также добавляется информация, которая не используется самим мавеном, но нужна для программиста, чтобы понять, о чём этот проект: название проекта: some-name описание проекта Description of project functionallity сайт проекта: http: //www. example. com

Жизненный цикл проекта Жизненным циклом называется вся совокупность операций над проектом от инициализации сборкиЖизненный цикл проекта Жизненным циклом называется вся совокупность операций над проектом от инициализации сборки до развёртывания. В процессе прохождения жизненного цикла выполняются определённые операции над проектом. Жизненный цикл разделён на фазы. Каждая фаза подразумевает перевод проекта в новое состояние в результате её прохождения и появление новых артефактов. При выполнении определенной фазы автоматически последовательно выполняются все предыдущие фазы (те фазы от которых зависит выполняемая), на каждой фазе производится вызов соответствующего плагина. К каждой фазе может быть привязан ноль или более различных плагинов. По умолчанию, набор фаз с привязанными плагинами стандартен и зависит от типа артефакта проекта.

Основные Фаза clean – очистка артефактов, созданных в процессе предыдущих сборок. validate – проверкаОсновные Фаза clean – очистка артефактов, созданных в процессе предыдущих сборок. validate – проверка проекта на соответствие заданной конфигурации, а также проверка доступности всей необходимой информации. compile – компиляция исходного кода. test – тестирование скомпилированного кода с использованием сконфигурированного тестового движка (например, JUnit). package – упаковка скомпилированного кода в формат поставки, например в JAR. integration-test – обработка и поставка упакованного пакета в окружение (на систему), обеспечивающее возможность запуска интеграционных тестов verify – проверка целостности пакета и его соответствия критериям качества install – инсталляция пакета в локальный репозиторий для его дальнейшего использования в качестве зависимости в других локальных пакетах и проектах site – генерация site-документации для проекта (опциональная фаза) deploy – поставка пакета на интеграционное или релизное окружение, включая также его копирование в удалённый репозиторий, где он доступен для других разработчиков и прочих проектов

Прочие важные понятия Artifact – корневой проект или модуль, определяющий единицу сборки и ассоциированныйПрочие важные понятия Artifact – корневой проект или модуль, определяющий единицу сборки и ассоциированный с файлом pom. xml Атрибуты: artifact. Id , group. Id , version , name , … Module – обычно дочерний подпроект (артефакт) Parent – артефакт верхнего уровня по отношению к данному Plug-in – артефакт, ответственный за выполнение различных фаз и специфических операций (обычно сторонний, загружаемый из глобального/удалённого репозитория) Dependency – описание зависимости данного артефакта от другого (локального или удалённого) Property – именованная константа, значение которой используется обычно многократно в рамках данного и дочерних артефактов Build – секция, задающая конфигурацию сборки артефакта Default Goal – фаза сборки по умолчанию Resource – указатель местоположения файлов-ресурсов в рамках данного и дочерних артефактов