1. 程式人生 > >解決maven無法下載依賴的jar包的問題

解決maven無法下載依賴的jar包的問題

發現 div oca posit rancher 倉庫 依賴 策略 啟動

背景:

  公司內部有搭建maven私服,自己做了個核心jar包,一開始是xxx-core.1.0.0.SNAPSHOT版本,是本地和項目環境都可以正常使用的。為支持上線,發布穩定版本,xxx-core.1.0.0.jar。

本地編譯正常,啟動正常,項目環境,gitlab提交後自動部署到Rancher時,發現始終下載不下來jar包。

pom.xml文件的repository配置:

<repositories>
        <repository>
            <id>xxxxx.releases</id>
            <
name>Releases</name> <url>https://nexus.xxxxxx.com/repository/maven-releases</url> <releases> <enabled>true</enabled> </releases> <snapshots> <enabled>false</enabled
> </snapshots> </repository> <repository> <id>xxxxxx.snapshots</id> <name>Snapshot</name> <url>https://nexus.huilianyi.com/repository/maven-snapshots</url> <releases>
<enabled>false</enabled> </releases> <snapshots> <enabled>true</enabled> </snapshots> </repository> </repositories>

編譯時maven報錯提示:

Failed to execute goal on project service: Could not resolve dependencies for project com.xxxxx:service:war:1.0-SNAPSHOT: Failure to find com.xxxxx-core:jar:1.0.0 in https://nexus.xxxx.com/repository/maven-releases was cached in the local repository, resolution will not be reattempted until the update interval of xxx.releases has elapsed or updates are forced -> [Help 1]

提示是說,是私庫配置的repository的這個id:xxx.releases 有緩存更新間隔,沒到這個更新時間,是從緩存裏面獲取jar的,所以新上傳到倉庫xxx-core.1.0.0.jar這個jar包是不在緩存裏面的

所以沒有拉取下來。

解決辦法:

pom.xml更改為:

<repositories>
        <repository>
            <id>xxxxx.releases</id>
            <name>Releases</name>
            <url>https://nexus.xxxxxx.com/repository/maven-releases</url>
            <releases>
                <enabled>true</enabled>
                <updatePolicy>always</updatePolicy>
            </releases>
            <snapshots>
                <enabled>false</enabled>
            </snapshots>
        </repository>
        <repository>
            <id>xxxxxx.snapshots</id>
            <name>Snapshot</name>
            <url>https://nexus.huilianyi.com/repository/maven-snapshots</url>
            <releases>
                <enabled>false</enabled>
            </releases>
            <snapshots>
                <enabled>true</enabled>
            </snapshots>
        </repository>
</repositories>                    
<updatePolicy>標簽是更新策略,always是總是下載倉庫中最新的依賴。
註意:拉下來後,要去掉此配置,不然每次都會去下載jar包,編譯起來非常耗時。

解決maven無法下載依賴的jar包的問題