Maven 私服的使用实战

时间:2021-04-17 15:14:32

本日志主要是介绍下面的配置

1. 将内部构件部署到私服

在工程的pom文件中添加下面配置

<distributionManagement>
  <repository>
    <id>myrelease</id>
    <name>my release repo</name>
    <url>http://localhost:8081/nexus/content/repositories/releases/</url>
  </repository>
  <snapshotRepository>
    <id>mysnapshot</id>
    <name>my snapshot repo</name>
    <url>http://localhost:8081/nexus/content/repositories/snapshots/</url>
  </snapshotRepository>
</distributionManagement>

如果需要鉴权,在settings.xml中配置用户名和密码

<server><!--配置一些仓库的鉴权信息 -->
  <id>mysnapshot</id>
  <username>admin</username>
  <password>admin123</password>
</server>

2.使用镜像标签,强制将所有对下载构件的请求,重定位到镜像的路径。这样可以限制项目只从私服上下载构件,从而达到对三方件的控制(在大公司尤为重要,因为涉及到安全问题)

<mirror>
  <id>myMirror</id><!-- 将所有的下载请求统一路由到私服,限制在线下载-->
  <mirrorOf>*</mirrorOf><!-- 这里可以填写仓库id,或者*表示所有仓库 -->
  <url>http://localhost:8081/nexus/content/groups/public/</url>
</mirror>

重写central仓库而不使用镜像,似乎不起作用,Maven仍会去连接远程仓库

3.仓库的url,可以指向仓库组。仓库组将若干个仓库集合起来,指向仓库组时实际上在仓库组里的所有仓库进行下载构件。