讀古今文學網 > Maven實戰 > 7.6.1 在線插件信息 >

7.6.1 在線插件信息

基本上所有主要的Maven插件都來自Apache和Codehaus。由於Maven本身是屬於Apache軟件基金會的,因此它有很多官方的插件,每天都有成千上萬的Maven用戶在使用這些插件,它們具有非常好的穩定性。詳細的列表可以在這個地址得到:http://maven.apache.org/plugins/index.html,單擊某個插件的鏈接便可以得到進一步的信息。所有官方插件能在這裡下載:http://repo1.maven.org/maven2/org/apache/maven/plugins/。

除了Apache上的官方插件之外,托管於Codehaus上的Mojo項目也提供了大量了Maven插件,詳細的列表可以訪問:http://mojo.codehaus.org/plugins.html。需要注意的是,這些插件的文檔和可靠性相對較差,在使用時,如果遇到問題,往往只能自己去看源代碼。所有Codehaus的Maven插件能在這裡下載:http://repository.codehaus.org/org/codehaus/mojo/。

由於上述兩個站點提供的插件非常多,而實際使用中常用的插件遠不會是這個數量,因此附錄C歸納了一些比較常用的插件。

雖然並非所有插件都提供了完善的文檔,但一些核心插件的文檔還是非常豐富的。以maven-surefire-plugin為例,訪問http://maven.apache.org/plugins/maven-surefire-plugin/可以看到該插件的簡要介紹、包含的目標、使用介紹、FAQ以及很多實例,如圖7-3所示。

圖7-3 maven-surefire-plugin的文檔頁面

一般來說,通過閱讀插件文檔中的使用介紹和實例,就應該能夠在自己的項目中很好地使用該插件。但當我們想瞭解非常細節的目標參數時,就需要進一步訪問該插件每個目標的文檔。以maven-surefire-plugin為例(見第7.5.1節),可以通過在命令行傳入maven.test.skip參數來跳過測試執行,而執行測試的插件目標是surefire:test,訪問其文檔:http://maven.apache.org/plugins/maven-surefire-plugin/test-mojo.html,可以找到目標參數skip,如圖7-4所示。

圖7-4 maven-surefire-plugin:test的skip參數

文檔詳細解釋了該參數的作用、類型等信息。基於該信息,用戶可以在POM中配置maven-surefire-plugin的skip參數為true來跳過測試。這個時候讀者可能會不理解了,之前在命令行傳入的參數不是maven.test.skip嗎?的確如此,雖然對於該插件目標的作用是一樣的,但從命令行傳入的參數確實不同於該插件目標的參數名稱。命令行參數是由該插件參數的表達式(Expression)決定的。從圖7-4中能夠看到,surefire:test skip參數的表達式為${maven.test.skip},它表示可以在命令行以-Dmaven.test.skip=true的方式配置該目標。並不是所有插件目標參數都有表達式,也就是說,一些插件目標參數只能在POM中配置。