Maven как средство сборки проекта

Содержание

Слайд 2

Обзор существующих framework’ов для сборки проекта
Обзор механизма работы maven
Пример1. Использование COS

Обзор существующих framework’ов для сборки проекта Обзор механизма работы maven Пример1. Использование
(Cloud Oriented Storage) как maven репозитория
Пример2. Maven плагин для оптимизации JavaScript

2

Слайд 3

ANT
Большое количество стандартных заданий (> 150)
Большая гибкость при разработке скрипта для сборки

3

ANT Большое количество стандартных заданий (> 150) Большая гибкость при разработке скрипта для сборки 3

Слайд 4

Ivy
Менеджер зависимостей для Ant
По умолчанию использует maven2 репозиторий

4

Ivy Менеджер зависимостей для Ant По умолчанию использует maven2 репозиторий 4

Слайд 5

Maven
Описание структыры проекта, а не только механизма сборки (независимость от IDE)
Автономный репозиторий

Maven Описание структыры проекта, а не только механизма сборки (независимость от IDE)
сторонних библиотек (> 253 000)
Лёгкое подключение модулей
Большой набор плагинов (> 50)
Поддержка Ant

5

Слайд 6

Статистика использования
Ant - ?
Ivy - ?
Maven – ? + Раскосов Александр

6

Статистика использования Ant - ? Ivy - ? Maven – ? + Раскосов Александр 6

Слайд 7

Жизненный цикл maven

7

Жизненный цикл maven 7

Слайд 8

Пример 1
Использование COS (Cloud Oriented Storage) как maven репозитория

8

Пример 1 Использование COS (Cloud Oriented Storage) как maven репозитория 8

Слайд 9

Использование COS как maven репозитория
При сохранении в репозиторий:
Поддержка только FTP и SSH
Сторонняя

Использование COS как maven репозитория При сохранении в репозиторий: Поддержка только FTP
библиотека только для Amazon S3

9

Слайд 10

Использование COS как maven репозитория
public class AtmosWagon extends AbstractWagon {
public void put(File

Использование COS как maven репозитория public class AtmosWagon extends AbstractWagon { public
source, String destination) {…}
public boolean getIfNewer(
String resourceName, File destination,
long timestamp) {…}
public void get(String resourceName, File destination) {…}
}

10

Слайд 11

Использование COS как maven репозитория
../resources/META-INF/plexus/components.xml



org.apache.maven.wagon.Wagon
atmos

com.maestro.maven.wagon.atmos.AtmosWagon

Использование COS как maven репозитория ../resources/META-INF/plexus/components.xml org.apache.maven.wagon.Wagon atmos com.maestro.maven.wagon.atmos.AtmosWagon per-lookup 11
per-lookup



11

Слайд 12

Использование COS как maven репозитория
При чтении из репозитория:
Необходимость конфигурации maven для

Использование COS как maven репозитория При чтении из репозитория: Необходимость конфигурации maven
использования сертификатов для работы с репозиторием по https

12

Слайд 13

Пример 2
Maven плагин для оптимизации JavaScript

13

Пример 2 Maven плагин для оптимизации JavaScript 13

Слайд 14

Maven плагин для компиляции и оптимизации JavaScript
Стандартные механизмы:
Скачиваемое Java приложение
Работа через web

Maven плагин для компиляции и оптимизации JavaScript Стандартные механизмы: Скачиваемое Java приложение
приложение

14

Слайд 15

Maven плагин для компиляции и оптимизации JavaScript
/**
* @goal run
* @phase

Maven плагин для компиляции и оптимизации JavaScript /** * @goal run *
compile
*/
public class GoogleCompilerMojo extends AbstractMojo {
/**
* @parameter expression="false“
*/
private boolean skip;
public void execute()
throws MojoExecutionException, MojoFailureException {…}
}

15

Слайд 16

Maven плагин для компиляции и оптимизации JavaScript
../pom.xml

maven-plugin

16

Maven плагин для компиляции и оптимизации JavaScript ../pom.xml … maven-plugin … 16
Имя файла: Maven-как-средство-сборки-проекта.pptx
Количество просмотров: 147
Количество скачиваний: 1