大部分远程仓库无须认证就可以访问,但有时候出于安全方面的考虑,我们需要提供认证信息才能访问一些远程仓库。
配置认证信息和配置仓库信息不同,仓库信息可以直接配置在 POM 文件中,但是认证信息必须配置在 settings.xml 文件中。
假设需要为一个 id 为 my-proj 的仓库配置认证信息:
1 <settings> 2 ... 3 <servers> 4 <server> 5 <id>my-proj</id> 6 <username>repo-user</username> 7 <password>repo-pwd</password> 8 </server> 9 </servers> 10 ... 11 </settings>
Maven 使用 settings.xml 文件中并不显而易见的 <servers> 元素及其 <server> 子元素配置仓库认证信息。
这里的关键是 <id> 元素,settings.xml 中 <server> 元素的 id 必须与 POM 中需要认证的 <repository> 元素的 id 完全一致。