русский
Germany.ruForen → Архив Досок→ Programmierung

Junior в 40

22.05.15 22:29
Re: Junior в 40
 
MrSanders старожил
in Antwort AlexOtt 22.05.15 21:12, Zuletzt geändert 22.05.15 22:35 (MrSanders)
В ответ на:
Maven простой как 3 копейки - главное понять основную структуру проекта, lifecycles, и наследование в многомодульных проектах - после этого достаточно идти на страницу конкретного плагина чтобы найти как называются опции и goals

Ага. А следующий шаг - биться головой об стенку.
Потому что один плагин не спрашивая (convention over configuration жа!, чо, все так делают!) расширяет список каталогов с исходниками, второй, наоборот игнорирует этот расширенный список и обрабатывает только то, что лежит в main/java, третий втихомолку пользуется настройками maven-compile, а узнать об этом можно только посмотрев в исходники, потому не удивляемся когда поменяв кодировку для компайлера с latin-1 на utf-8 у нас внезапно перестают нормально генерироваться ресурсы. Следующий молчит как партизан и не признается как его заставить переписывать созданные файлы. Документация? Не, не слышали, зачем тебе? сonvention over configuration жа. Все работает из коробки. Ну а что не работает - то судьба такая.
Иерархические pom-ы, наследование от родителей, переопределение параметров, настроек плагинов и прочая и прочая. Вопрос. Как найти в каком именно поме из иерархии параметр был переопределен? effective-pom по всем 14 уровням... (рвёт на себе волосы, рыдает, уходит в запой)
Не надо мне про мэйвен, мне с ним регулярно воевать приходится. У моей группы одна из ответственностей - разработка и поддержка плагинов для этого сволочизма.
Мэйвен хорош если надо быстренько на коленке что-то склепать - раз, сделал структуру каталогов, выбрав нужный архетип, два - написал пару классов, три - уже собрал jar, war, ear что тебе надо. Но как только что-то сложное попадается, чесслово, антом было проще. Т.е. в принципе все работает, если тебе нужно именно то, о чем думали авторы плагина, и если твой use case четко совпадает с одним из двух, которые они соблаговолили описать в документации. Но не дай бог сделать шаг в строну.
Вообще, спор maven vs. ant или они же против make это как с языками программирования... Но, елки-палки, как достало в 100-й раз слышать в ответ на "как поменять эту настройку" - "ну ты что, это ж convention over configuration, оно по дефолту завсегда так", только у всех авторов плагинов какие-то свои представления о стандартных значениях...
P.S. Мое любимое - как удалить или скопировать файлик? Используйте maven-antrun-plugin. Что из таких советов выходит? Ленивые разработчики тупо копируют свои старые антовские скрипты в пом-ы и радостно рапортуют о миграции на maven. Профит, №^&%.
 

Sprung zu