讀古今文學網 > Maven實戰 > 15.7 部署站點 >

15.7 部署站點

為了方便團隊和用戶得到必要的項目信息,我們需要將Maven站點部署到服務器上。Maven支持多種協議部署站點,包括FTP、SCP和DAV。

如下代碼就配置了一個基於DAV協議的站點部署地址:

上述代碼中,url的值以dav開頭,表示服務器必須支持WEBDAV。此外,為了確保安全性,服務器的訪問一般都需要認證。這個時候就需要配置settings.xml文件的server元素,這一點與部署構件至Maven倉庫類似。需要注意的是:要確保server的id值與site的id值完全一致。

需要提醒的是,如果在部署的時候遇到問題,請嘗試配置最新的maven-site-plugin。到本書編寫時為止,2.x的最新版本為2.1.1,3.x的最新版本為3.0-beta-2。

如果想要使用FTP協議部署站點,那麼除了配置正確的部署地址和認證信息外,還需要配置額外的擴展組件wagon-ftp,如代碼清單15-13所示。

代碼清單15-13 使用FTP協議部署站點

上述代碼中最重要的部分是通過extension元素配置了擴展組件wagon-ftp,有了該組件,Maven才能正確識別FTP協議。該代碼中為maven-site-plugin和wagon-ftp都配置了最新的版本,這麼做是為了避免之前版本中存在的一些bug。

如果希望通過SCP協議部署站點,只需要相應地配置distributionManagement元素即可。如下:

與DAV和FTP不同的是,SCP協議通常使用密鑰進行認證,因此在settings.xml中配置認證信息的時候,就可能需要passphrase和privateKey元素。如下:

上述代碼中,privateKey表示私鑰的地址,passphrase表示私鑰的口令。

站點部署地址及認證信息配置完成後,只需要輸入以下命令就能讓Maven部署站點了:

site-deploy是site生命週期的一個階段,其對應綁定了maven-site-plugin的deploy目標,該目標的工作就是部署Maven站點。