目录
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>
如果远程仓库是发布版和快照版混合的,repository和snapshotRepository的url填一样的即可。
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、镜像
镜像在settings.xml中配置,mirrors -> mirror
配置中央仓库的镜像(central代表中央仓库),所有访问中央仓库的请求都转发给这个镜像

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



被折叠的 条评论
为什么被折叠?



