`

(转)maven中的Snapshot

 
阅读更多
http://quinnhe.iteye.com/blog/2066831

maven中的仓库分为两种,snapshot快照仓库和release发布仓库。snapshot快照仓库用于保存开发过程中的不稳定版本,release正式仓库则是用来保存稳定的发行版本。定义一个组件/模块为快照版本,只需要在pom文件中在该模块的版本号后加上-SNAPSHOT即可(注意这里必须是大写),



<groupId>org.quinn</groupId> 
    <artifactId>accounts</artifactId> 
    <version>0.0.1-SNAPSHOT</version> 
    <packaging>jar</packaging> 


修改setting.xml的发布部分如下设置


<profile> 
            <id>dev</id> 
 
            <repositories> 
 
                <repository> 
 
                    <id>nexus</id> 
 
                    <url>http://ip:8081/nexus/content/groups/public</url> 
 
                    <releases> 
 
                        <enabled>true</enabled> 
 
                    </releases> 
 
                    <snapshots> 
 
                        <enabled>true</enabled> 
                        <updatePolicy>always</updatePolicy> 
                        <checksumPolicy>warn</checksumPolicy> 
 
                    </snapshots> 
 
                </repository> 
 
            </repositories> 
 
            <pluginRepositories> 
 
                <pluginRepository> 
 
                    <id>nexus</id> 
 
                    <url>http://ip:8081/nexus/content/groups/public</url> 
 
                    <releases> 
 
                        <enabled>true</enabled> 
 
                    </releases> 
 
                    <snapshots> 
 
                        <enabled>true</enabled> 
                        <updatePolicy>always</updatePolicy> 
                        <checksumPolicy>warn</checksumPolicy> 
 
                    </snapshots> 
 
                </pluginRepository> 
 
            </pluginRepositories> 
 
        </profile> 


可以看到我在snapshot下面加了如下设置


<enabled>true</enabled> 
                        <updatePolicy>always</updatePolicy> 
                        <checksumPolicy>warn</checksumPolicy> 


看下maven官方对这个属性做出的解释,重点就是updatePolicy属性




enabled设置为true

updatePolicy更新snapshot包的频率,属性有四个值always(实时更新) daily(每天更新) interval:xxx(隔xxx分钟更新一次)  never(从不更新) 默认为daily

checksumPolicy为warn

如果是使用eclipse开发,集成了maven插件的,还需要做如下事情。

Window>Preferences>Maven>User Settings>Update Settings

完成以上操作可完成无需更改版本发布,依赖方也不需要更改pom,只需执行一下mvn clean install 即可完成依赖更新
分享到:
评论

相关推荐

    基于Jenkins的Maven SNAPSHOT版本检查插件设计源码

    该项目为基于Jenkins平台的Maven SNAPSHOT版本检查插件设计源码,包含27个文件,包括4个YAML配置文件、4个Java源代码...该插件旨在检查pom.xml文件中是否包含SNAPSHOT版本标识,适用于自动化构建和版本控制流程管理。

    如何在eclipse jee中创建Maven project并且转换为Dynamic web project

    - 在`Group Id`中输入你的组织或个人标识,`Artifact Id`输入项目名,`Version`则设置项目版本号,如`1.0-SNAPSHOT`。完成后点击`Finish`。 2. **配置Maven项目** - 在新创建的Maven项目中,打开`pom.xml`文件。...

    Maven中主要jar包集合

    本文将深入探讨"Maven中主要jar包集合"这一主题,旨在帮助初学者理解Maven的工作原理以及如何利用它来高效地管理jar包。 首先,我们要明白什么是Maven。Maven是Apache软件基金会开发的一个项目管理和综合工具,主要...

    netcdfAll-5.5.4-SNAPSHOT.jar

    在Maven仓库中,通常会按照这样的命名规则来组织SNAPSHOT版本,以便跟踪和更新开发中的库。 总的来说,"netcdfAll-5.5.4-SNAPSHOT.jar"是一个包含NetCDF Java库所有组件的JAR文件,适用于Java项目,特别是那些使用...

    java project转为maven

    在Java开发过程中,项目管理工具Maven已经成为标准配置,它能帮助我们自动化构建、依赖管理和项目信息管理。本文将详细讲解如何将一个非Maven的Java项目转化为Maven项目,以便利用其强大的功能。 首先,我们需要...

    fastdfs-client-java-1.29-SNAPSHOT.jar

    解决 Maven 无法下载 fastdfs-client-java-1.29-SNAPSHOT 依赖,直接下载之后用maven命令存储到本地maven仓库即可。 maven命令 mvn install:install-file -DgroupId=org.csource -DartifactId=fastdfs-client-java ...

    apache-maven-3.6.3

    7. **版本管理**:Maven支持SNAPSHOT版本,方便开发中的版本控制和测试。 8. **报告生成**:Maven可以生成各种项目报告,如Javadoc、测试报告、代码覆盖率报告等,帮助开发者了解项目的健康状况。 9. **集成开发...

    maven3.0 maven3.0

    Apache Maven 是一个项目管理和综合工具,尤其在Java开发领域中被广泛使用。Maven 3.0是Maven的一个重要版本,它引入了许多改进和新特性,旨在提高开发效率,增强构建过程的可配置性和稳定性。 ### Maven 3.0 的...

    apache-maven

    在"Maven 3.5.4"这个版本中,我们可以期待以下主要特性: 1. **依赖管理**:Maven通过POM文件来管理项目的所有依赖,自动下载所需的库,并解决依赖冲突。这大大减少了手动管理类路径的困扰。 2. **构建生命周期**...

    maven3.8下载包

    Maven是Java世界中的一款强大的项目管理和构建工具,它极大地简化了软件项目的构建、依赖管理和生命周期过程。Maven 3.8版本是该工具的一个重要更新,提供了更多的优化和改进,旨在提升开发效率和稳定性。 Maven的...

    maven 3.0.4

    Maven 3.0.4 支持SNAPSHOT版本,这允许开发人员在开发过程中跟踪项目的快照版本。每次构建SNAPSHOT版本时,Maven都会检查远程仓库是否有新的更新。 7. **聚合与继承** 多模块项目可以通过聚合(aggregation)和...

    apache-maven-3.5.0

    8. **版本管理**:Maven支持使用SNAPSHOT版本号,用于跟踪开发中的软件版本。当仓库中SNAPSHOT版本更新时,Maven会自动检测并下载最新版本。 9. **命令行界面**:Maven提供了丰富的命令行接口,开发者可以通过简单...

    maven-3.3.9.zip

    - `PATH`: 添加`%MAVEN_HOME%\bin`(Windows)或`/usr/local/apache-maven-3.3.9/bin`(Linux/Mac)到系统路径中。 在Windows系统中,可以通过系统属性-&gt;高级系统设置-&gt;环境变量进行设置;在Linux或Mac上,可以通过...

    apache-maven-3.5.4.zip

    - **版本管理**:Maven支持SNAPSHOT版本,允许开发人员在开发过程中快速迭代并跟踪代码变化。 在实际开发中,我们可以通过修改`settings.xml`来定制Maven的行为,比如设置不同的远程仓库以加速依赖下载,或者定义...

    apache-maven-3.5.3

    8. **版本控制**:Maven支持SNAPSHOT版本,这是一个特殊版本号,表示开发中的不稳定版本。每次构建时,Maven会检查远程仓库是否有更新的SNAPSHOT版本。 9. **site生命周期**:除了构建生命周期,Maven还有site生命...

    最新Maven-apache-maven-3.8.1-Repository-配置好的

    - **版本控制**: Maven遵循严格的版本号规则,例如`1.0.0-SNAPSHOT`表示开发版本,`1.0.0`表示正式发布版本。 - **多模块项目**: 大型项目通常使用多模块结构,一个顶级POM管理多个子模块,方便构建和管理。 - **...

    apache-maven-3_6_3-bin.tar.gz下载

    10. **版本管理**:Maven 支持 SNAPSHOT 版本,便于开发过程中的迭代和版本控制。 下载 "apache-maven-3.6.3-bin.tar.gz" 压缩包后,解压得到 Maven 的二进制发行版,通常包括 bin、lib、conf 等目录。bin 目录下的...

    maven模板javaspring

    Maven 支持 SNAPSHOT 版本,这对于开发过程中频繁迭代的项目非常有用。SNAPSHOT 版本会自动检查中央仓库是否有更新,确保团队成员始终使用最新的代码。 总结来说,Maven 作为 Java Spring 开发的模板工具,通过...

    apache-maven-3.6.1

    7. **版本控制**:Maven支持SNAPSHOT版本,这对于开发过程中频繁的迭代非常有用。SNAPSHOT版本会自动检查远程仓库是否有更新,并自动下载最新的版本。 8. **仓库管理**:Maven使用本地仓库存储已下载的依赖,同时...

Global site tag (gtag.js) - Google Analytics