Как я могу отобразить сообщение в Maven - PullRequest
53 голосов
/ 05 августа 2010

Как я могу отобразить сообщение в Maven?

В ant у нас есть «echo» для отображения сообщения, но в maven, как я могу это сделать?

Ответы [ 4 ]

48 голосов
/ 05 августа 2010

Вы можете использовать плагин 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, вы сами не управляете жизненным циклом, а просто привязываете плагины к определенным точкам в предопределенном жизненном цикле.В зависимости от того, что вы на самом деле пытаетесь сделать, это может иметь или не иметь смысла для вашего варианта использования.

12 голосов
/ 18 ноября 2014

Для этого вы можете использовать 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!
10 голосов
/ 03 марта 2016

Вы можете использовать Björn Ekryd * Echo Maven Plugin , опубликованный в 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% покрытия кода , что довольно круто.

4 голосов
/ 10 июня 2013
<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>
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...