在maven 中調用shell 命令


 1 <build>
 2         <plugins>
 3             <plugin>
 4                 <artifactId>exec-maven-plugin</artifactId>
 5                 <groupId>org.codehaus.mojo</groupId>
 6                 <executions>
 7                     <execution>
 8                         <id>uncompress</id>
 9                         <phase>install</phase>
10                         <goals>
11                             <goal>exec</goal>
12                         </goals>
13                         <configuration>
14                             <executable>${basedir}/uncompress.sh</executable>
15                         </configuration>
16                     </execution>
17                 </executions>
18             </plugin>
19         </plugins>
20     </build>

1. 這里需要理解maven中幾個概念

a.maven的生命周期

  maven的生命周期主要有3套,分別是clean、default、site,clean主要用來清理項目,default用來構建項目,site用來建立項目站點。每個生命周期又包含一些階段,這里就不列出了。

 當我們在命令行中執行mvn clean install時,該命令調用了clean生命周期的clean階段和default生命周期的install階段

b.插件綁定

maven的核心僅僅定義了抽象的生命周期,具體的任務交給插件來完成,而maven的生命周期與插件互相綁定,具體而言,應該是生命周期的階段與插件的目標互相綁定,以完成某個具體的構建任務

現在來看我們上面的例子,我們在第10行開始定義了這個插件的目標,並且在第9行指定了default生命周期的install階段,這里的意思就是說在default生命周期的install階段,我們將執行插件的exec目標,也就是執行我們在14行指定的腳本。

生命周期的某一個階段可以綁定很多插件的目標,這些目標的執行順序按照定義的順序來執行

 

一些屬性

${basedir}表示項目根目錄,即包含pom.xml文件的目錄

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM