联系
Knight's Tale » 技术

Maven settings.xml文件小析

2014-08-28 15:05

SNAPSHOT意为快照,说明该项目正处于开发中,是不稳定版本。随着版本的发展,Version会不断更新,如升级为1.0 1.1-SNAPSHOT 1.1 2.0等。

超级POM

所有项目的POM都继承了超级POM,它的内容是:

超级POM定义了仓库和插件仓库。并且都关闭了SNAPSHOT的支持,这也就是解释了为什么Maven默认就可以按需要从中央仓库下载构件。

mirrors

baidu-nexus-snapshots public-snapshots http://maven.scm.baidu.com:8081/nexus/content/groups/public-snapshots baidu-nexus http://maven.scm.baidu.com:8081/nexus/content/groups/public *

例如上面,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

<!-- 本地仓库地址 -->
<localRepository>D:\10_software\MVN_REPRO\m2repository</localRepository>

repositories

<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表示每次构建都检查更新。

Maven版本号定义约定

例如 1.3.4-beta-2

<主版本>.<次版本>.<增量版本>-<里程碑版本>

本文链接地址:Maven settings.xml文件小析