Вот мой сценарий
У меня есть файл POM, в котором с помощью разработанного нами пользовательского плагина, скажем, mycutom-plugin, и этот плагин использует другой плагин под названием asciidoctor-maven-plugin
Я запишу мою озабоченность здесь
1. У меня есть параметр (asciidoctor.sectnumlevels) в asciidoctor-maven-plugin в качестве свойства конфигурации, см. Ниже xml, и значение этого параметра передается родительским POM, что этот плагин используется,
Теперь то, что я хотел, установить значение по умолчанию для $ {asciidoctor.sectnumlevels} из POM mycutom-plugin, когда я не передаю значение из родительского POM, который используется плагин
<plugin>
<groupId>org.asciidoctor</groupId>
<artifactId>asciidoctor-maven-plugin</artifactId>
<version>${asciidoctor-maven-plugin.version} </version>
.......
<attributes>
<toc2>left</toc2>
......
<sectnumlevels>${asciidoctor.sectnumlevels}</sectnumlevels>
</attributes>
</configuration>
<executions>
<execution>
<phase>none</phase>
<goals>
<goal>process-asciidoc</goal>
</goals>
</execution>
</executions>
</plugin>
Посмотрите, как я определил свойство в родительском POM
<properties>
<asciidoctor.sectnumlevels>4</asciidoctor.sectnumlevels>
</properties>
Кроме того, я также протестировал приведенное ниже решение, но таким образом оно принимает значение по умолчанию, но когда я передаю значение из POM в качестве плагина свойстваконец, это не переопределение
<profiles>
<profile>
<id>asciidoctor.param.default</id>
<activation>
<activeByDefault>true</activeByDefault>
<property>
<name>!asciidoctor.sectnumlevels</name> <!--if not defined from parent POM-->
</property>
</activation>
<properties>
<asciidoctor.sectnumlevels>3</asciidoctor.sectnumlevels> <!--set default value-->
</properties>
</profile>
</profiles>