Здравствуйте, Cyberax, Вы писали:
C>Здравствуйте, Курилка, Вы писали:
C>>>Ну и проблема с мультимодульностью нормально не решена. Ни в maven, ни в ivy, ни в Грабле. Как будто, они не работают над реальными проектами.
К>>А можешь пояснить, какую именно мультимодульность и проблему ты имеешь в виду?
C>Вот у меня проект из 6 модулей. Они все лежат в файловой системе рядышком. Предположим, что я поменял модуль А и теперь хочу собрать модуль Б, зависящий от него. Делать "mvn compile" на верхнем уровне не хочется из-за того, что это долго (см. пункт 1).
C>Казалось бы, достаточно зайти в каталог с модулем Б и запустить билд? Ан нет, фигушки. Сначала нужно зайти в модуль А, сделать там mvn install, и только потом зайти в модуль Б и там уже начать строить. Сам Maven ну никак не может догадаться, что этот модуль можно построить (он лежит локально рядом и доступен через родительский POM!!!).
Все эти проблемы легко решаются при помощи ключиков -pl -am -rf:
http://www.sonatype.com/people/2009/10/maven-tips-and-tricks-advanced-reactor-options/
например имеем структуру:
\
— p1
— p2
— p3
и p2 зависит от p3
делаем из корневого:
mvn -pl p2 -am
и мавен пересоберет только p3 и p2 (в таком порядке)