maven(15),快照与发布,RELEASE与SNAPSHOT



发布RELEASEeclipse

用户A将代码打包发布到RELEASE仓库,具体操做参考上篇文章。用户B使用时,须要在pom.xml添加JAR包的依赖坐标。若是用户A将版本从1.0升级为2.0,用户B使用时也须要同时在pom.xml中修改坐标版本。可是RELEASE是稳定版本,是通过测试之后才会发布的,一般不会频繁的升级版本maven


快照SNAPSHOT测试

SNAPSHOT是不稳定版,多是还在开发中的版本,在开发时用户A可能天天都会更新代码,可能会频繁的发布版本。而另外一组用户B须要实时获得A的最新代码版本,以进行同步开发。若是使用RELEASE仓库须要不停的更换坐标,才能升级到最新版本。而SNAPSHOT仓库则不须要这样作,用户A和用户B都不用升级版本。用户A每次发布时会根据当时时间建立一个新的快照版本,以前的快照版本也会保留成为历史版本。用户B每次构建项目时会自动根据版本时间加载最新的JAR包,这种模式更加适合于多模块同步开发测试阶段ui


SNAPSHOT仓库用法url

和RELEASE仓库相似,在pom.xml中设置快照仓库以下spa

<distributionManagement>
		<snapshotRepository>
			<id>snapshot</id>
			<name>snapshot</name>
			<url>http://localhost:8081/repository/maven-snapshots/</url>
		</snapshotRepository>
	</distributionManagement>

同时设置version中的版本后面必须有 -SNAPSHOT,此后缀表明这是一个快照版code

<version>1.0-SNAPSHOT</version>

在setting.xml中设置用户名密码,id要和上面对应。和RELEASE同样component

<servers>
		<server>
			<id>snapshot</id>
			<username>admin</username>
			<password>admin123</password>
		</server>
	</servers>

运行nexus私服(参考前两篇),在eclipse中右击maven项目--运行方式--maven build...  在goals中输入deploy,运行。server

在nexus界面中点击最上排的方块图标--browse--components菜单--maven-snapshots仓库。以下,我没有改坐标,连续发布了几回,能够发现name列和group列是彻底同样的,version列根据发布时间不一样自动在1.0后面加上了当前时间,以此区别不一样版本xml