Привет Я пытаюсь добиться чего-то вроде этого:Maven - активировать профиль на основе проекта собственности
В родительском ПОМ, у меня есть
<profile>
<activation>
<property>
<name>Compile</name>
<value>${project.artifactId}</value>
...
так, что если я бегу mvn -DCompile=mod1 install
под родительским ПОМ, он будет применять настройки профиля только к модулю 1, но не к другим.
Точно так же, если у меня есть
<profile>
<activation>
<property>
<name>Compile</name>
<value>${project.packaging}</value>
...
затем работает mvn -DCompile=war install
под родительским П, будет применяться только параметры профиля, чтобы те, которые будут упакованы в войне, но не банка, ни англичанин.
Я пытался, но оно не работает, как ожидалось. Я что-то пропустил? Пожалуйста помоги.
P.S. нет необходимости предлагать обходные пути, поскольку меня интересует только этот метод. Просто ответьте на это невозможно, если это так. Спасибо
Вы говорите, $ {} project.packaging статична и ничего подобного у родителей расширяется до П, а затем на ребенке, она расширяется банку и т. д.? – user1589188
Поскольку вопрос был помечен как «java», давайте будем осторожны, что мы подразумеваем под «static» :). Я имею в виду, что активация профиля оценивается только один раз и, следовательно, на основе '$ {project.packaging}' родителя, вероятно, 'pom'. –
И что действительно смешно в том, что я действительно должен использовать 'mvn -DCompile = $ {project.packaging}'. Так что это не расходуется вообще ... – user1589188