Ответ 1
Я не пробовал это сам, но здесь есть плагин, который может помочь:
Как я могу печатать на консоли во время выполнения команды mvn (в фазе/цели), но не используя плагин Maven Antrun?
Почему я отвергаю решения Antrun:
В настоящее время выглядит Ant -echo (см. строку с "hello world" ):
[INFO] --- maven-antrun-plugin:1.7:run (default) @ ejpd-alertmanager-ear ---
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks
main:
[echo] hello world
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Однако я ожидаю, что он будет выглядеть так (см. строку с "hello world" ).
[INFO] --- maven-antrun-plugin:1.7:run (default) @ ejpd-alertmanager-ear ---
[WARNING] Parameter tasks is deprecated, use target instead
[INFO] Executing tasks
[INFO] hello world
[INFO] Executed tasks
[INFO] ------------------------------------------------------------------------
[INFO] BUILD SUCCESS
[INFO] ------------------------------------------------------------------------
Я уверен, что здесь что-то не хватает, поскольку я не могу первыми поднять это требование. Спасибо за любой умный намек.
Я не пробовал это сам, но здесь есть плагин, который может помочь:
Вы должны попробовать плагин Maven Echo:
<plugin>
<groupId>com.soebes.maven.plugins</groupId>
<artifactId>maven-echo-plugin</artifactId>
<version>0.1</version>
<executions>
<execution>
<phase>initialize</phase>
<goals>
<goal>echo</goal>
</goals>
</execution>
</executions>
<configuration>
<echos>
<echo>This is the Text which will be printed out.</echo>
</echos>
</configuration>
</plugin>
Кроме того, более подробно рассмотрите интеграционный тест плагина.
который доступен через Maven Central. BTW: Если у вас есть дополнительные запросы/улучшения, просто напишите в проблеме.
Вы можете использовать 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.
Он имеет нормальный объем XML, необходимый для плагина Maven, выход отформатирован, как и другие строки журнала Maven, и вы можете назначить уровень серьезности вашему сообщению (по умолчанию INFO).
<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>
<level>INFO</level>
</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% покрытие кода, что довольно круто.