esoe 1 year ago
parent
commit
7e3a306037
  1. BIN
      books/Introducing Maven (Ru).pdf
  2. 4
      java/lessons/pom.xml
  3. 88
      maven/README.md

BIN
books/Introducing Maven (Ru).pdf

Binary file not shown.

4
java/lessons/pom.xml

@ -5,11 +5,11 @@
http://maven.apache.org/xsd/maven-4.0.0.xsd"> http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion> <modelVersion>4.0.0</modelVersion>
<parent> <!-- <parent>
<artifactId>practice</artifactId> <artifactId>practice</artifactId>
<groupId>ru.molokoin</groupId> <groupId>ru.molokoin</groupId>
<version>1.0</version> <version>1.0</version>
</parent> </parent> -->
<!-- lab03 info --> <!-- lab03 info -->
<groupId>ru.molokoin</groupId> <groupId>ru.molokoin</groupId>

88
maven/README.md

@ -0,0 +1,88 @@
# MAVEN : автоматизация сборки приложений
# Назначение и область применения
# Основные принципы
# Термины и определения
>архетип (archetype) - шаблон или макет структуры приложения
>зависимость (dependency) - внешняя библиотека, подключаемая к проекту
>плагин (plugin) -
# Типы формируемых maven пакетов (packages) / package goals
## jar (Java archive)
goal : jar
**Фазы проекта jar**:
- resources: resources
- compiler: compile
- resources: testResources
- compiler: testCompile
- surefire: test
- jar: jar
- install: install
- deploy: deploy
jar, war ejb, par, rar - имеют схожие жизненные циклы проектов, различается только их цель (goal)
```xml
<!-- метод упаковки -->
<packaging>jar</packaging>
```
## war (web application archive)
goal : war
war-архив может включать:
- Java servlets
- JSPs
- HTML pages
- a deployment descriptor
- and related resources
```xml
<!-- метод упаковки -->
<packaging>war</packaging>
```
## ear (Enterprise application archive)
Архив, содержащий сжатый многомодульный проект Java EE, включает один или несколько модулей war, ejb.
ear архив для развертывания требует наличия сервера приложений.
# Жизненный цикл maven проекта
Фазы (phase) жизненного цикла проекта maven:
1. clean — удаляются все скомпилированные файлы из каталога target (место, в котором сохраняются готовые артефакты);
2. validate — идет проверка, вся ли информация доступна для сборки проекта;
3. compile — компилируются файлы с исходным кодом;
4. test — запускаются тесты;
5. package — упаковываются скомпилированные файлы (в jar, war и т.д. архив);
6. verify — выполняются проверки для подтверждения готовности упакованного файла;
7. install — пакет помещается в локальный репозиторий. Теперь он может использоваться другими проектами как внешняя библиотека;
8. site — создается документация проекта;
9. deploy — собранный архив копируется в удаленный репозиторий.
Также у каждой фазы есть пре- и пост-фазы: например, pre-deploy, post-deploy, pre-clean, post-clean, но используются они довольно редко.
# Создание приложения из архетипа
основные мавен архетипы: http://maven.apache.org/guides/introduction/introduction-to-archetypes.html
# Создание собственного архетипа
# Управление зависимостями
Зависимости могут браться:
- из центрального (глобального) хранилища maven https://mvnrepository.com/
- из стороннего хранилища
- из локального хранилища (создается на пользовательской мшине, при установке maven)
```xml
<!-- Объявление зависимостей -->
<dependency>
<groupId>[наименование пакета]</groupId>
<artifactId>[наименование библиотеки]</artifactId>
<version>[версия]</version>
</dependency>
```
# Собственный репозиторий
http://nexus.sonatype.org/
https://jfrog.com/
https://archiva.apache.org/
Loading…
Cancel
Save