(十三)maven之release和snapshots

发布release

 

用户A将代码打包到RELEASE仓库。用户B使用时,需要在pom.xml添加jar包的依赖坐标。如果用户A将jar包版本从1.0升级到2.0,用户B使用时也需要在pom.xml中修改坐标版本。但是RELEASE表示是稳定版本,是经过测试以后才会发布的,通常不会频繁地升级版本。

快照SNAPSHOT

 

SNAPSHOT是不稳定版本,可能是还在开发中的版本,在开发时用户A可能每天都会更新代码,可能会频繁地发布版本。而另一组用户B需要实时得到A的最新代码版本,以进行同步开发。如果使用RELEASE仓库需要不停地更换坐标,才能升级到最新版本。而在SNAPSHOT仓库则不需要这么做,用户A和用户B都不用升级版本。

用户A每次发布时会根据当时的时间创建一个新的快照版本,之前的吧、快照版本也会保留成为历史版本。用户B每次构建项目时会自动根据版本时间加载最新的依赖jar包。所以这种模式更加适合于多模块同步开发测试阶段。

 

RELEASE仓库的用法

RELEASE仓库的用法在上一篇hosted宿主仓库的介绍中有提到:https://www.cnblogs.com/NYfor2018/p/9079629.html

 

SNAPSHOT仓库用法

 

① 与RELEASE仓库类似,在pom.xml中设置快照仓库:

<distributionManagement> 

    <snapshotRepository> 

        <id>snapshot</id> 

        <name>snapshot</name> 

        <url>http://localhost:8081/repository/maven-snapshots/</url> 

    </snapshotRepository> 

</distributionManagement> 

② 同时设置version中的版本后面必须有“-SNAPSHOT”,此后缀代表这是一个快照版。

<version>1.0-SNAPSHOT</version>  

③ 在settings.xml中设置用户名密码,id要和上面的对应(与RELEASE仓库的设置类似)。

<servers> 

    <server> 

        <id>snapshot</id> 

        <username>admin</username> 

        <password>admin123</password> 

    </server> 

</servers> 

(需要注意,不要偷懒哦,这里server的id是snapshot,不是release,所以还是需要在settings.xml中设置)

 

④ 运行nexus私服(参考前两篇:https://www.cnblogs.com/NYfor2018/p/9079068.html、https://www.cnblogs.com/NYfor2018/p/9079629.html )。

⑤ 在eclipse中右击maven项目--Run as--maven build...,然后在goals输入deploy,再点击Run。

 

然后打开nexus页面,可在Browse—maven snapshots里面看到,MavenTest项目已经被打包成snapshot版本格式了。

 

 


参考文章:https://blog.csdn.net/wangb_java/article/details/66000956

猜你喜欢

转载自www.cnblogs.com/NYfor2018/p/9080980.html
今日推荐