maven仓库的设置

175 阅读1分钟

仓库的类型 repository

1、 local repository

一般在.m2/repository里。

2、 remote repository

可以配置默认中央仓库,也可以配置公司私服的地址。

镜像 mirror

Maven镜像(mirror)的概念、作用

mirror相当于一个拦截器,它会拦截maven对remote repository的相关请求,把请求里的remote repository地址,重定向到mirror里配置的地址。 如果仓库X可以提供仓库Y存储的所有内容,那么就可以认为X是Y的一个镜像。换句话说,任何一个可以从仓库Y获得的构件,都能够从它的镜像中获取。

这样的话就可以把阿里云的镜像作为maven的默认的仓库地址。

 <mirror>
            <id>aliyunmaven</id>
            <mirrorOf>central</mirrorOf>
            <name>阿里云公共仓库</name>
            <url>https://maven.aliyun.com/repository/central</url>
 </mirror>

这样maven的默认中央仓库,就代理到阿里云的镜像。

mirrorOf 中间是配置repositoryId。而中央仓库的id默认是central。

镜像配置 标签里面放置的是要被镜像的Repository ID。

为了满足一些复杂的需求,Maven还支持更高级的镜像配置: 

* 匹配所有远程仓库。

repo1,repo2 匹配仓库repo1和repo2,使用逗号分隔多个远程仓库。

external:*,!repo1 匹配所有远程仓库,repo1除外,使用感叹号将仓库从匹配中排除。

服务 server

主要是存储私服的用户名和密码。这个是敏感信息,一般在项目的pom中配置,而是在本地的maven配置文件配置。注意server和repository是通过id关联的。

<server>
            <!--id和仓库的id一致  -->
            <id>deploy-release</id>
            <username>admin</username>
            <password>thingscan@1234</password>
</server>