讀古今文學網 > Maven實戰 > 15.1 最簡單的站點 >

15.1 最簡單的站點

對於Maven 2來說,站點生成的邏輯是Maven核心的一部分。鑒於靈活性和可擴展性考慮,在Maven 3中,這部分邏輯已從核心中移除。由於此設計的變動,Maven 3用戶必須使用3.x版本的maven-site-plugin。例如:

Maven 2用戶則應該使用maven-site-plugin最新的2.x版本。例如:

配置了正確版本的maven-site-plugin之後,在項目下運行mvn site就能直接生成一個最簡單的站點,用戶可以看到如下方代碼所示的命令行輸出。

待Maven運行完畢後,可以在項目的target/site/目錄下找到Maven生成的站點文件,包括dependencies.html、dependency-convergence.html、index.html等文件和css、images文件夾。讀者能夠從這些文件及文件夾的名字中猜到其中的內容:css和images文件夾是用來存放站點相關的圖片和css文件的,其他html文件基本對應了一項項目信息,如dependencies.html包含了項目依賴信息,license.html包含了項目許可證信息。index.html則是站點的主頁面,用瀏覽器打開就能看到圖15-1所示的頁面。

從圖15-1中可以看到,左邊導航欄的下方包含了各類項目信息的鏈接,包括持續集成、依賴、問題追蹤、郵件列表、團隊、源碼庫等。

如果這是一個聚合項目,導航欄的上方還會包含子模塊的鏈接,但是如果單擊這些鏈接,將無法轉到子模塊的項目頁面。這是由於多模塊Maven項目本身的目錄結構導致的。如果將站點發佈到服務器上,該問題會自然消失。如果想在本地查看結構正確的站點,則可以maven-site-plugin的stage目標,將站點預發佈至某個本地臨時目錄下。例如:

圖15-1 最簡單的Maven站點

上述命令表示生成項目站點,並預發佈至D:\tmp目錄。讀者可以到該目錄下找到項目站點的html文件,父子模塊之間的鏈接也是可用的。

回顧7.2.4節,我們知道site生命週期有四個階段,它們分別為pre-site、site、post-site和site-deploy。其中,pre-site和post-site默認沒有綁定任何插件目標,可以說它們是預留給用戶做一些站點生成之前及之後的處理的;site階段綁定到了maven-site-plugin的site目標,該目標負責生成項目站點,因此之前使用簡單的mvn site命令就能直接生成項目站點;site-deploy目標綁定了maven-site-plugin的deploy目標,該目標負責將站點部署至遠程服務器。本章稍後會詳細解釋自動化站點部署。