Начало основного контента

Что в POM тебе моем?

ЯзыкRU

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

Да, мир разработки на Java изменился: вместо многомодульных сборок и упаковки результата в war или ear, что вызывало определенные сложности в прошлом, мы чаще делаем микросервисы на спрингбуте и кажется, что старые проблемы нас больше не должны волновать, но правда в том, что сам Maven практически никак не поменялся за 10 лет — добавились новые плагины, а проблемы с конфигурацией сборок никуда не ушли. Вместе с этим, нам все больше помогают IDE и DevOps-инженеры с запуском и настройкой сборки и мы, как разработчики, все дальше от контроля и понимания того, что на самом деле происходит, когда мы набираем в консоли заветные три слова: mvn clean install и зачастую, даже не ясно, с какой стороны подойти, когда не увидел в результате BUILD SUCCESS (а ведь, даже не менял код с прошлой успешной сборки). Что-то успешно забылось за ненадобностью, о чем-то никогда и не приходилось заботиться, и все эти фазы, цели, скоупы, bom, parent, параметры, транзитивные зависимости, профили, репозитории, архетипы и прочую ересь не сразу легко засунуть себе в голову и разложить по полочкам, не говоря уже о лучших практиках, которые у каждого свои. 

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

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

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

  • #maven
  • #knowhow