☰
6、maven:仓库
2026/11/2 6:02:13 网站建设 项目流程

目录

1、本地仓库的配置

2、私服

3、远程仓库的配置

4、远程仓库认证

5、部署至远程仓库

6、快照版本

7、镜像


1、本地仓库的配置

Maven缺省的本地仓库路径为${user.home}/.m2/repository

自定义仓库路径:

<localRepository>D:\\repository</localRepository>

Eclipse的配置

2、私服

3、远程仓库的配置

在pom.xml中添加远程仓库:

  • project -> repositories -> repository
  • 可以使用repository配置1个或者多个远程仓库。
  • id必须是唯一的。
  • id为central的仓库表示中央仓库。
  • releases -> enabled true 表示支持发布版的jar下载
  • snapshots -> enabled false 表示不支持快照版的jar下载

4、远程仓库认证

  • 出于安全考虑,有些远程仓库是需要认证的(账号密码)
  • 我们在settings.xml中配置认证信息
  • id必须与仓库(repository)的ID一致
  • username是用户名password是密码

5、部署至远程仓库

如果要使用mvn clean deploy发布到远程仓库则需要配置distributionManagement

  • repository表示发布版的jar
  • snapshotRepository表示快照版的jar
  • 部署jar的时候,往往需要仓库认证(即第4章)releases和snapshots都要有

<servers> <server> <id>proj-releases</id> <username>admin</username> <password>xxx</password> </server> <server> <id>proj-snapshots</id> <username>admin</username> <password>xxx</password> </server> </servers>

6、快照版本

带-SNAPSHOT的版本号被认定为快照版本

<repositories> <repository> <id>company-nexus-public</id> <name>Company Nexus Public</name> <url>http://127.0.0.1:8081/repository/maven-public/</url> <!-- Release包配置 --> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <!-- SNAPSHOT包配置 --> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories>

这样配置:

  • 发布版下载过一次之后,就不再访问私服
  • 快照版每次构建都会从私服拉取最新的jar

如果私服 Nexus 是分开两个仓库(maven-releases、maven-snapshots,不使用 public 聚合仓),就拆成两个 repository:

<repositories> <!-- release仓库,只拉正式版 --> <repository> <id>nexus-releases</id> <name>Nexus Releases</name> <url>http://127.0.0.1:8081/repository/maven-releases/</url> <releases> <enabled>true</enabled> <updatePolicy>never</updatePolicy> </releases> <snapshots> <enabled>false</enabled> </snapshots> </repository> <!-- snapshot仓库,只拉快照 --> <repository> <id>nexus-snapshots</id> <name>Nexus Snapshots</name> <url>http://127.0.0.1:8081/repository/maven-snapshots/</url> <releases> <enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> <updatePolicy>always</updatePolicy> </snapshots> </repository> </repositories>

7、镜像

配置中央仓库的镜像(central代表中央仓库),所有访问中央仓库的请求都转发给这个镜像

mirrorOf的值:

  • *:匹配所有远程仓库
  • external:* 匹配所有不是本机的远程仓库
  • repo1,repo2:匹配仓库repo1和repo2
  • *,!repo1:匹配所有远程仓库,repo1除外

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询