1. 程式人生 > >maven 快照 更新策略與釋出到私服倉庫方法

maven 快照 更新策略與釋出到私服倉庫方法

1、為什麼會有快照?

沒有快照之前:

              A專案依賴於專案B,B每次改動就賦予一個新版本號,然後告訴A我改版本好了啊,每次改動都得告訴,有時忘了就麻煩了。

           可以看出沒有快照會帶來“浪費版本號”、溝通成大加大的問題。

有了快照之後:

           A專案依賴於專案B,B每次改動都會打上時間戳,A編譯時會檢查B的時間戳,如果晚於本地倉庫B的時間戳,那麼就會進行更新,否則不予更新。

         可以看出快照省去了溝通成本、版本號成本。

2、快照更新策略

注意,快照並不是每次install就會更新,這取決於更新策略;快照更新策略,有每日更新、永遠檢查更新、從不檢查更新和自定義時間間隔更新,預設是每日更新也就是說一日更新一次,如果想總是更新,那麼可以在settings.xml中配置。比如

<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實戰》加上平日實踐的心得。