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 即可完成依赖更新