maven mirror , profile , snapshot 和release

1. settings.xml 配置的mirror 

 <mirrors>
        <mirror>
            <id>Nexus</id>
            <name>nexus</name>
            <url>http://10.188.2.222:8080/nexus/content/repositories/central/</url>
            <mirrorOf>central</mirrorOf>
        </mirror>
    </mirrors>

pom.xml 配置 

<repositories>
      <repository>
        <id>local-nexus</id>
        <url>https://maven.alfresco.com/nexus/content/repositories/activiti</url>
    </repository>
  </repositories>

如果pom 中没有配置 repositories ,则maven 在下载dependency 依赖的时候回直接从central仓库下载,由于配置镜像,则从镜像地址下载

如果pom 中配置了repository : id = settings.xml 配置的mirrorOf ,则仍然从镜像下载,如果repository 的ID和 mirrorOf 不相等,则先从该仓库下载。

2. profile 是maven实现多配置信息 。如一些变量,则可以再pom 文件中引用变量,从而实现动态配置。具体用法百度参考

3. snapshot 为开发过程产生的。由于maven 机制是先从本地仓库下载,如果没有,再从远程下载。如果一个包被下载后,远程上的包发生了更改,本地是不会主动下载的,处于开发过程中的包是很容易

出现此种情况的,导致 B 发布了最新的包,但是版本号等信息没有变动,A 本地已经有了,不会更新,导致A无法获取最新的包。。但是如果B发布的包是 snapshot(只需包版本号后加上-SNAPSHOT) 的则

A 就会自动下载最新的包(updatePolicy四种下载方式:属性有四个值always(实时更新) daily(每天更新) interval:xxx(隔xxx分钟更新一次)  never(从不更新) 默认为daily)

其他方式 : install -U  -U 可以强制更新依赖 

4. 如果没有提供私服。。可以在 profile 中 配置多个 repository 仓库 加快下载jar包速度。

原文地址:https://www.cnblogs.com/zhangchenglzhao/p/7338803.html