Как я могу отобразить сообщение в Maven?
В ant у нас есть "echo" для отображения сообщения, но в maven, как я могу это сделать?
Как я могу отобразить сообщение в Maven?
В ant у нас есть "echo" для отображения сообщения, но в maven, как я могу это сделать?
Вы можете использовать плагин antrun:
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>Hello world!</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>
Одна проблема заключается в том, что вам нужно выбрать, какую фазу жизненный цикл сборки привязать это к (в моем примере плагин привязан к generate-resources
). В отличие от Ant, вы сами не управляете жизненным циклом, а просто привязываете плагины к определенным точкам в предопределенном жизненном цикле. В зависимости от того, что вы на самом деле пытаетесь сделать, это может быть или не иметь смысла для вашего случая использования.
Вы можете использовать Groovy Maven Plugin для этого.
<plugin>
<groupId>org.codehaus.gmaven</groupId>
<artifactId>groovy-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<phase>validate</phase>
<goals>
<goal>execute</goal>
</goals>
<configuration>
<source>
log.info('Test message: {}', 'Hello, World!')
</source>
</configuration>
</execution>
</executions>
</plugin>
В приведенной выше конфигурации будет отображаться следующий вывод:
[INFO] Test message: Hello, World!
Вы можете использовать Björn Ekryd Плагин Echo Maven, который опубликован в Maven Central:
<plugin>
<groupId>com.github.ekryd.echo-maven-plugin</groupId>
<artifactId>echo-maven-plugin</artifactId>
<version>1.2.0</version>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>echo</goal>
</goals>
<configuration>
<message>war has changed</message>
</configuration>
</execution>
</executions>
</plugin>
[INFO] --- maven-war-plugin:2.4:war (default-war) @ mymodule ---
[INFO] Packaging webapp
[INFO] Processing war project
[INFO]
[INFO] --- echo-maven-plugin:1.2.0:echo (default) @ mymodule ---
[INFO] war has changed
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Кроме того, этот плагин имеет 95% покрытие кода, что довольно круто.
<plugin>
<artifactId>maven-antrun-plugin</artifactId>
<executions>
<execution>
<phase>generate-resources</phase>
<goals>
<goal>run</goal>
</goals>
<configuration>
<tasks>
<echo>[your message]:${Urkey}</echo>
</tasks>
</configuration>
</execution>
</executions>
</plugin>