Подтвердить что ты не робот

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

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

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

4b9b3361

Ответ 1

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

Ответ 2

Вы можете использовать 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!

Ответ 3

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

Ответ 4

<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>