为了方便团队和用户得到必要的项目信息,我们需要将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站点。