SNAPSHOT意为快照,说明该项目正处于开发中,是不稳定版本。随着版本的发展,Version会不断更新,如升级为1.0 1.1-SNAPSHOT 1.1 2.0等。
所有项目的POM都继承了超级POM,它的内容是:
超级POM定义了仓库和插件仓库。并且都关闭了SNAPSHOT的支持,这也就是解释了为什么Maven默认就可以按需要从中央仓库下载构件。
例如上面,baidu-nexus-snapshots表示是public-snapshots的镜像,所有请求public-snapshots的请求都会由baidu-nexus-snapshots来代理,并且URL指向http://maven.scm.baidu.com:8081/nexus/content/groups/public-snapshots。
对于非public-snapshots的请求,全部由 baidu-nexu进行代理,URL是 http://maven.scm.baidu.com:8081/nexus/content/groups/public
<!-- 本地仓库地址 -->
<localRepository>D:\10_software\MVN_REPRO\m2repository</localRepository>
<repositories>
<repository>
<id>public-snapshots</id>
<url>http://public-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
<pluginRepositories>
<pluginRepository>
<id>public-snapshots</id>
<url>http://public-snapshots</url>
<releases>
<enabled>false</enabled>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</pluginRepository>
</pluginRepositories>
repositories 是仓库,这里定义了仓库public-snapshots和仓库的插件库public-snapshots。这里开启了SNAPSHOT。并且关闭了release版本的下载。这里指定错URL了,但是不要紧,因为在上面我们用了镜像进行代理了。
updatePolicy用来配置Maven从远程仓库检查更新的频率,默认的值是daily,表示 Maven每天检查一次。 always表示每次构建都检查更新。
例如 1.3.4-beta-2
<主版本>.<次版本>.<增量版本>-<里程碑版本>