program story

Maven에서 메시지를 어떻게 표시 할 수 있습니까?

inputbox 2021. 1. 8. 08:11
반응형

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

You can use Björn Ekryd's Echo Maven Plugin, which is published in 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] ------------------------------------------------------------------------

Also, this plugin has 95% code coverage, which is pretty cool.


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

ReferenceURL : https://stackoverflow.com/questions/3416573/how-can-i-display-a-message-in-maven

반응형