Я использую Maven 3.6.0 и OpenJDK8 в Ubuntu 18.04 (также протестирован с Alpine Linux).
У меня есть pom.xml
в корне моего проекта, который включает мои подмодули:
...
<modules>
<module>mysubmodule</module>
</modules>
...
В папке mysubmodule
у pom.xml
есть профиль, который я хочу активировать на основе свойства, переданного в исполняемый файл mvn
:
...
<profile>
<id>my-profile</id>
<activation>
<property>
<name>activateMyProfile</name>
</property>
</activation>
...
</profile>
...
Затем я выполняю mvn длязапустить сборку, но профиль никогда не активируется:
- Если я запускаю
mvn -DactivateMyProfile release:prepare
из корня моего проекта, профиль никогда не активируется и никогда не запускается - Если я запускаю
mvn release:prepare
из корня моего проекта, профиль никогда не запускается.
Я также пробовал обратное:
...
<profile>
<id>my-profile</id>
<activation>
<property>
<name>!doNotActivateMyProfile</name>
</property>
</activation>
...
</profile>
...
- Если я запускаю
mvn -DdoNotActivateMyProfile release:prepare
изв корне моего проекта, профиль все еще выполняется - Если я запускаю
mvn release:prepare
из корня моего проекта, профиль также выполняется
Это выглядит как mvn
не может видеть свойства, передаваемые через командную строку.Как правильно активировать профиль в субмодуле с помощью свойства?