nexus本地私服对应的maven一些配置问题

来源:互联网 发布:sql不包含某个字符串 编辑:程序博客网 时间:2024/06/05 08:20

1、settings文件作用

settings文件这里要区别于pom文件的一些,尽管我们看到pom中的一些配置可以也可以写到settings中。

所谓settings及时配置文件的意思。这个是配置maven文件的意思,而pom是属于项目的pom。这里就得出结论,maven的配置文件是针对所有的maven工程的,而pom是针对单个项目。所以我们认为settings是一些maven项目的全局配置项。

2、仓库

经过测试,我发现,仓库既可以在pom中配置,也可以在settings中配置,而且是可以配置多个仓库。在项目下载依赖的时候,会优先从上到下,依次从仓库中下载依赖。

3、镜像

镜像是指项目在下载依赖的时候,指定从哪个url中去下载。这里姑且是说成是url。

镜像和仓库,是有区别的,先说下,我在网上没有找到什么可以配置多个镜像的。

我自己搭建了一个镜像,我的理解是镜像是直接管理profile中对应的仓库的。有了镜像,其实仓库这个概念基本可以忽略的。前提是镜像所有的仓库。例如:

<mirror><id>nexus-local</id><mirrorOf>*</mirrorOf><name>Nexus local</name><url>http://127.0.0.1:8081/nexus/repository/maven-public/</url></mirror>

上面镜像,就是所有的仓库的url都会指向这个镜像配置的,我配了这个镜像之后,也配置了其他镜像,发现我停止了本地的nexus。项目并不会去你配置的其他镜像查找。

结论:这种*号的匹配镜像,如果私服启动,则下载依赖,否则,下载依赖直接失败。

4、感受

有人可能认为,这种镜像配置的是 * ;所以不能支持多镜像,我这里我测试过了。这个镜像是我们nexus后台配置一个group的仓库,有中央仓库、和自己配置的第三方依赖。以及其他,当然我本地是这样配置的。当然其实,配置多个镜像,也就配置本地仓库的镜像,和中央仓库的镜像。意义感觉不大。还有这种 * 号是有好处的。即使有些依赖我们从中央下载不下来,我们可以去后台自己去维护到自己创建的仓库中,然后,添加到这个镜像对应的url中。以致于,后期,我们的仓库越来越全的依赖。

0 0
原创粉丝点击