讀古今文學網 > Maven實戰 > 6.4.1 遠程倉庫的認證 >

6.4.1 遠程倉庫的認證

大部分遠程倉庫無須認證就可以訪問,但有時候出於安全方面的考慮,我們需要提供認證信息才能訪問一些遠程倉庫。例如,組織內部有一個Maven倉庫服務器,該服務器為每個項目都提供獨立的Maven倉庫,為了防止非法的倉庫訪問,管理員為每個倉庫提供了一組用戶名及密碼。這時,為了能讓Maven訪問倉庫內容,就需要配置認證信息。

配置認證信息和配置倉庫信息不同,倉庫信息可以直接配置在POM文件中,但是認證信息必須配置在settings.xml文件中。這是因為POM往往是被提交到代碼倉庫中供所有成員訪問的,而settings.xml一般只放在本機。因此,在settings.xml中配置認證信息更為安全。

假設需要為一個id為my-proj的倉庫配置認證信息,編輯settings.xml文件見代碼清單6-3:

代碼清單6-3 在settings.xml中配置倉庫認證信息

Maven使用settings.xml文件中並不顯而易見的servers元素及其server子元素配置倉庫認證信息。代碼清單6-3中該倉庫的認證用戶名為repo-user,認證密碼為repo-pwd。這裡的關鍵是id元素,settings.xml中server元素的id必須與POM中需要認證的repository元素的id完全一致。換句話說,正是這個id將認證信息與倉庫配置聯繫在了一起。