2010-08-05 78 views
42

如何在Maven中顯示消息? 在螞蟻中,我們確實有「回聲」來顯示一條消息,但在maven中,我該怎麼做?如何在Maven中顯示消息

+0

爲什麼你需要這樣做?你的用例是什麼? – 2010-08-05 16:28:49

+0

https://code.google.com/p/echo-maven-plugin/ – timomeinen 2014-09-10 12:01:21

+0

@PascalThivent說,如果我想跟蹤一些財產的價值 - 我怎麼能不打印它呢? – 2018-01-09 09:50:00

回答

41

可以使用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> 

的一個問題是,你要選擇什麼樣的階段the build lifecycle把它綁定到(我的例子有必然generate-resources插件)。與Ant不同,您不是自己控制生命週期,而只是將插件綁定到預定義生命週期中的某些點。取決於你實際嘗試做什麼,這對你的用例可能有意義也可能沒有意義。

+0

請參閱下面的鏈接以獲取正確的聯合版本: http://maven.apache.org/plugins/maven-antrun-plugin/examples/tasksAttributes.html – 2015-02-18 16:39:33

5
<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> 
+0

這不適用於我 – Sridhar 2017-02-02 14:16:59

9

您可以使用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! 
+0

maven-antrun-plugin無法打印消息在窗口中的maven 3.3.3中。 Groovy插件就像一個魅力。 – 2015-11-17 18:19:43

5

可以使用Björn EkrydEcho 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% code coverage,這非常酷。

+0

你是如何執行它的? – Sridhar 2017-02-02 14:18:16

+1

我運行了'mvn package',但你可以將它綁定到你喜歡的任何[階段](https://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference)。 – 2017-02-02 14:53:22