Your SlideShare is downloading. ×
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Apache Maven presentation from BitByte conference
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×
Saving this for later? Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime – even offline.
Text the download link to your phone
Standard text messaging rates apply

Apache Maven presentation from BitByte conference

164

Published on

Presentation by Anatoly Kondratiev from BitByte conference

Presentation by Anatoly Kondratiev from BitByte conference

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
164
On Slideshare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
0
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. www.ExigenServices.comСборка простых и сложных Java-проектовАнатолий КондратьевАпрель 2013История строителя:Maven от новичка до мастера
  • 2. 2Предназначение Maven• Сборка проектов• Единый стиль– Жизненный цикл– Организация данных• Автоматизация– Сборки– Зависимостей
  • 3. 3Базовая структураМагияMavenКомпьютер ИнтернетLocal reporepo- Artifact 1- Artifact 2- Etc…Central reporepo• Артефакт (Artifact)• Репозиторий (Repository)• Зависимость (Dependency)
  • 4. 4Maven проектpom.xmlИсходный код Ресурсы Бинарные файлыРепозиторииартефактовЖизненный цикл Mavenplug-in plug-in plug-inProjectObjectModelМенеджерзависимостей
  • 5. 5Пример приложенияMaven в действии
  • 6. 6Содержимое проектаGWTapplicationEJB BEJB AMy Library
  • 7. 7Maven: Наследование и АгрегацияParentpomEJB AejbEJB BejbGwtwarMy libraryjar
  • 8. 8Maven в действии<project …><modelVersion>4.0.0</modelVersion><groupId>ru.exigenservices</groupId><artifactId>my-parent</artifactId><version>1.0.1-SNAPSHOT</version><packaging>pom</packaging><modules><module>EJB-A</module><module>EJB-B</module><module>Gwt</module><module>MyLibrary</module></modules></project>
  • 9. 9Maven в действии• Что насчет развертывания?– Необходим EAR-файл– Необходим дополнительный шаг• Разделение frontend и backend?• NB! Один pom-файл – один артефакт
  • 10. 10Maven в действииParentpomFrontendpomGwtwarFrontendwrapperearBackendpomEJB AejbEJB BejbBackendwrapperearMy libraryjar
  • 11. 11Многомодульная иерархия• Parent pom<project …><groupId>exigen</groupId><artifactId>parent</artifactId><version>1.0.1-SNAPSHOT</version><packaging>pom</packaging><modules><module>backend</module><module>frontend</module></modules></project>• Frontend pom<project …><parent><groupId>exigen</groupId><artifactId>parent</artifactId><version>1.0.1-SNAPSHOT</version></parent><artifactId>frontend</artifactId><packaging>pom</packaging><modules><module>Gwt</module></modules></project>
  • 12. 12Что ещё может помочьDependency & plugin management,Profiles, Execution blocks
  • 13. 13Dependency&Plugin management• Избавляемся от Copy-Paste• Изменяемые и наследуемые• В родителе– GroupId & ArtifactId– Version– Всё, что может быть сконфигурировано• В наследнике– GroupId & ArtifactId
  • 14. 14Профили в Maven• Профиль – способ сконфигурировать сборку• Разные профили – разные действия– Переименование– Использование разных конфигураций• Активация– Вручную: -Pprofile1,profile2– <activeProfiles>– <activation>
  • 15. 15Конфигурация плагинов• Уровень плагина– Исполнение из командной строки– Стандартный жизненный цикл• Уровень исполнения (настройка Mojo)– Не является частью стандартного жизненного цикла– Разная настройка Mojo для разных окружений– Несколько Mojo для одного плагина
  • 16. 16Конфигурация MojoPlugin:time<plugin><groupId>com.mycompany.example</groupId><artifactId>plugin</artifactId><version>1.0</version><executions><execution><id>first</id><phase>test</phase><goals><goal>time</goal></goals><configuration> … </configuration></execution><execution><id>default</id>…<!– No phase block --></execution></executions></plugin>
  • 17. 17Спасибо за внимание!

×