2014-02-18 3 views
-1

У меня есть 4 профиля в maven (A, B, C, D). Я хочу активировать A по умолчанию, если B и C не активированы. Могу ли я иметь некоторую конфигурацию, которая позволит это?
Если я использую activeByDefault для A, тогда A не активируется, когда D активирован.
Поэтому, чтобы подвести итог, он должен работать следующим образом:
МВН пакет-PB (A не должен быть активирован)
МВН пакет -PC (A не должен быть активирован)
МВН пакет -pd (A должен быть активирован)
MVN пакет (А должен быть активирован)Модифицирующие профили Maven

+0

почему downvote? –

+1

Я могу только догадываться, что это потому, что ваш вопрос касается непростой головоломки, и вы мало рассказываете об этом контексте. Первый вопрос, который кто-то спросил бы вас: «Почему, черт возьми, вы хотите это сделать». Иногда реальный ответ заключается в упрощении вашей реальной проблемы. –

ответ

0

Позвольте мне упомянуть, что сработало для меня. я определю эти профили следующим образом:

<profile> 
    <id>A</id> 
    <activation> 
    <property> 
     <name>!Type</name> 
    </property> 
    </activation> 
</profile> 
<profile> 
    <id>B</id> 
    <activation> 
    <property> 
     <name>Type</name> 
     <value>B</value> 
    </property> 
    </activation> 
</profile> 
<profile> 
    <id>C</id> 
    <activation> 
    <property> 
     <name>Type</name> 
     <value>C</value> 
    </property> 
    </activation> 
</profile> 
<profile> 
    <id>D</id> 
</profile> 

Теперь следующий будет работать (хотя его немного Hacky!), Как я спросил:
МВН пакет -DType = B (A не должен быть активирован)
MVN пакет -PType = С (А не должен быть активирован)
MVN пакет -pd (А должна быть активирована)
MVN пакет (А должен быть активирован)

0

профили Maven могут быть активированы с помощью конфигурации:

http://books.sonatype.com/mvnref-book/reference/profiles-sect-activation.html#profiles-sect-activation-config

Но, к сожалению, активация/деактивация определенного набора активированных профилей не является частью того, что вы можете сделать.

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

Причина, по которой я прошу, состоит в том, что она выглядит довольно сложной. Не могли бы вы использовать несколько сценариев bash для запуска правильных профилей? Что еще более важно, действительно ли проблематично активировать профиль А?

Смежные вопросы