Maven的settings.xml文件结构之servers

来源:互联网 发布:nba2k17帅气捏脸数据 编辑:程序博客网 时间:2024/05/22 11:06

Maven中的构件(artifact)都是以库(repositories)的方式组织的。事实上,库就是符合Maven的库目录结构的构件的集合。

而库又分为本地库和远程库。

通常,本地库位于$user_host/.m2/repository目录下。

而远程库则往往根据需要有多个,默认的是Maven项目本身提供的Maven库,其对应的服务器url如下:

<url>https://repo.maven.apache.org/maven2/</url>

远程库可能还包含各个企业或组织提供的远程库,如原Codehaus库,现在已经被如下库替代:

<url>https://repository-master.mulesoft.org/nexus/content/groups/public/</url>

远程库通常在POM中定义,但是远程库所在的服务器信息,如访问用户名、密码等,往往因为不适合与POM一起发布,所以需要在settings.xml文件中设置。


在settings.xml文件中设置远程库所在的服务器信息示例如下:

  <servers>    <server>      <id>server001</id>      <username>my_login</username>      <password>my_password</password>      <filePermissions>664</filePermissions>      <directoryPermissions>775</directoryPermissions>      <configuration></configuration>    </server>    <server>      <id>server002</id>      <privateKey>${user.home}/.ssh/id_dsa</privateKey>      <passphrase>some_passphrase</passphrase>      <filePermissions>664</filePermissions>      <directoryPermissions>775</directoryPermissions>      <configuration></configuration>    </server>  </servers>
在上述示例中,对于一个server,其:

  • id,服务器的ID,Maven在连接一个库或者镜像的时候,通过id匹配要连接的服务器;
  • username, password,连接服务器所需的认证信息;
  • privateKey, passphrase,连接服务器所需的认证信息。privateKey默认位于${user.home}/.ssh/id_dsa
  • filePermissions, directoryPermissions,库中的文件访问权限和目录访问权限。该值的格式采用3位数字,兼容UNIX/Linux下格式;
  • configuration,访问服务器辅助要传递的参数,通常不必要;

1 0
原创粉丝点击