首页 > 其他 > 详细

maven 学习总结

时间:2020-05-28 19:36:21      阅读:54      评论:0      收藏:0      [点我收藏+]

一、下载nexus 私服管理工具并安装

二、发布项目工具包到私服

1、pom.xml中配置如下,id与setting.xml 中server中的id保持一致

<distributionManagement>
        <repository>
            <id>maven-releases</id>
            <name>Nexus Release Repository</name>
            <url>http://localhost:8081/repository/maven-releases/</url>
        </repository>
        <snapshotRepository>
            <id>maven-snapshots</id>
            <name>Nexus Snapshot Repository</name>
            <url>http://localhost:8081/repository/maven-snapshots/</url>
        </snapshotRepository>
    </distributionManagement>

2、配置setting.xml

 <server>
        <id>maven-releases</id>
          <username>admin</username>
          <password>12345</password>
    </server>
    <server>
        <id>maven-snapshots</id>
          <username>admin</username>
          <password>12345</password>
    </server>

3、执行maven deploy 命令,如果要发布快照版本到私服,只需要修改版本号后加上-SNAPSHOT(注意这里必须是大写)

三、对快照版本和发布版本的理解

1. Snapshot版本代表不稳定、尚处于开发中的版本

2. Release版本则代表稳定的版本

3. 什么情况下该用SNAPSHOT?
协同开发时,如果A依赖构件B,由于B会更新,B应该使用SNAPSHOT来标识自己。这种做法的必要性可以反证如下:

a.如果B不用SNAPSHOT,而是每次更新后都使用一个稳定的版本,那版本号就会升得太快,每天一升甚至每个小时一升,这就是对版本号的滥用。

b.如果B不用SNAPSHOT, 但一直使用一个单一的Release版本号,那当B更新后,A可能并不会接受到更新。因为A所使用的repository一般不会频繁更新release版本的缓存(即本地repository),所以B以不换版本号的方式更新后,A在拿B时发现本地已有这个版本,就不会去远程Repository下载最新的B

4. 不用Release版本,在所有地方都用SNAPSHOT版本行不行?
不行。正式环境中不得使用snapshot版本的库。 比如说,今天你依赖某个snapshot版本的第三方库成功构建了自己的应用,明天再构建时可能就会失败,因为今晚第三方可能已经更新了它的snapshot库。你再次构建时,Maven会去远程repository下载snapshot的最新版本,你构建时用的库就是新的jar文件了,这时正确性就很难保证了。

 

maven 学习总结

原文:https://www.cnblogs.com/lufei33180/p/12983209.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!