maven 快照 更新策略与发布到私服仓库方法

2022-09-27 13:44:26 浏览数 (1)

大家好,又见面了,我是你们的朋友全栈君。

1、为什么会有快照?

没有快照之前:

代码语言:javascript复制
              A项目依赖于项目B,B每次改动就赋予一个新版本号,然后告诉A我改版本好了啊,每次改动都得告诉,有时忘了就麻烦了。

           可以看出没有快照会带来“浪费版本号”、沟通成大加大的问题。

有了快照之后:

代码语言:javascript复制
           A项目依赖于项目B,B每次改动都会打上时间戳,A编译时会检查B的时间戳,如果晚于本地仓库B的时间戳,那么就会进行更新,否则不予更新。

         可以看出快照省去了沟通成本、版本号成本。

2、快照更新策略

注意,快照并不是每次install就会更新,这取决于更新策略;快照更新策略,有每日更新、永远检查更新、从不检查更新和自定义时间间隔更新,默认是每日更新也就是说一日更新一次,如果想总是更新,那么可以在settings.xml中配置。比如

代码语言:javascript复制
<profile>
            <id>nexus</id>
            <repositories>
                <repository>
                    <id>central</id>
                    <url>http://central</url>
                    <releases>
                        <enabled>true</enabled>
                    </releases>
                    <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                    </snapshots>
                </repository>
            </repositories>
</profile>

也可以通过命令强制更新,mvn clean install-U

发布到私服仓库命令:clean deploy 右键项目—》Run As—》Maven build(第二个)—》Golas输入命令:clean deploy 版本号以:-SNAPSHOT结尾的默认发布到快照仓库snapshots。 版本号不以:-SNAPSHOT结尾的默认发布到发布仓库release。

总结:

我曾经遇到过,设置了快照版本,但没有更新的问题,后来才发现是更新策略的缘故,当时的更新策略是每日更新,这都是对maven掌握的不够深入导致的,设置为总是检查更新就好了。以上内容是读过《maven实战》加上平日实践的心得。

发布者:全栈程序员栈长,转载请注明出处:https://javaforall.cn/189166.html原文链接:https://javaforall.cn

0 人点赞