2013-08-28 2 views
0

Я хочу, чтобы Maven пропустил создание всех подмодулей, если пользователь пренебрегает указанием профиля сборки. https://stackoverflow.com/a/8305931/14731 объясняет, как включить модуль, если выбран профиль, но не как его исключить.Maven: Как пропустить подмодули, если профиль активирован?

Я понимаю, что могу скопировать <modules> во все профили, отличные от по умолчанию, но список модулей огромен, и у меня есть более 9 различных профилей, что делает этот кошмар для обслуживания.

Есть ли способ исключить или пропустить подмодули, если профиль активирован? В качестве альтернативы, есть ли способ сохранить список модулей в свойстве и повторно использовать его из нескольких профилей, не повторяя весь список каждый раз?

ответ

0

Вопрос 1

Есть ли способ, чтобы исключить/пропустить суб-модулей, если профиль активирован?

Только так я могу увидеть только определить модули в профилях, для которых они должны быть активными, возможно, в том числе «особый» профиль, который activeByDefault если вы хотите, чтобы они активны по умолчанию ...

Но страдает от проблемы, что если кто-то делает

mvn verify -P+profile 

Затем активный по профилям по умолчанию все равно будет активным (т.е. модули будут все еще там)

Не e: -Pprofile активирует профиль с именем profile и деактивирует все активные профили по умолчанию. -P-profile деактивирует (предположительно) активный по умолчанию профиль с именем profile. -P+profile активирует имена профилей profile, не влияя на активные профили.

Вопрос 2

Кроме того, есть ли способ сохранить список модулей в собственность и повторно использовать его из нескольких профилей без необходимости повторять весь список каждый раз?

Не то, чтобы я знал. Подстановка свойств в общем случае недоступна, пока Maven вычисляет план сборки.