Я впервые играю с написанием плагина maven.Я написал простой плагин с целью, который записывает сообщение Hello World в вывод.Я также использовал аннотацию @phase для создания привязки по умолчанию к этапу жизненного цикла установки.Это показано в моем plugin.xml как элемент установки моего элемента mojo.
Насколько я понимаю, теперь я могу просто добавить это в свой раздел build.plugins без указания какого-либо выполнения, и цель моего плагина будет выполняться на этапе установки.Это не происходит, хотя.Вот конфигурация, которая не создает никакой цели для моей цели:
<build>
<plugins>
<plugin>
<groupId>com.emc.chad</groupId>
<artifactId>hello-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
</plugin>
</plugins>
</build>
Однако, если я изменяю это, чтобы явно указать выполнение, это работает:
<plugin>
<groupId>com.emc.chad</groupId>
<artifactId>hello-plugin</artifactId>
<version>0.0.1-SNAPSHOT</version>
<executions>
<execution>
<id>test</id>
<phase>install</phase>
<goals>
<goal>hello</goal>
</goals>
<configuration>
</configuration>
</execution>
</executions>
</plugin>
Я понимаю, почемуэто работает, конечно, но не должно сработать и первое, учитывая мою спецификацию фазы plugin.xml?