解決maven cached in the local repository問題

在執行maven clean package時遇到如下錯誤提示:

 Could not resolve dependencies for project org.springframework.boot:XXXX:jar:2.0-SNAPSHOT: Failed to collect dependencies at com.XXXX:XXXX:jar:2.0-SNAPSHOT: Failed to read artifact descriptor for com.XXXX:XXXX:jar:2.0-SNAPSHOT: Failure to find com.XXXX:XXXX:pom:2.0-SNAPSHOT in http://XXXX:XXXX/repository/maven-snapshots/ was cached in the local repository, resolution will not be reattempted until the update interval of maven-snapshots has elapsed or updates are forced -> [Help 1]

【問題原因】:由緩存導致

Maven默認會使用本地緩存的庫來編譯工程,對於上次下載失敗的庫,maven會在~/.m2/repository/<group>/<artifact>/<version>/目錄下創建xxx.lastUpdated文件,一旦這個文件存在,那麼在直到下一次nexus更新之前都不會更新這個依賴庫。

解決辦法】:刪除緩存或者強制每次都更新依賴庫

1. 刪除緩存

刪除v~/.m2/repository/<group>/<artifact>/<version>/目錄下的*.lastUpdated文件,或者將本地Maven倉庫中已下載的相關依賴Jar刪掉,然後再次運行mvn 命令

2.強制更新依賴庫

修改~/.m2/settings.xml 或/opt/maven/conf/settings.xml文件,在其中的倉庫中添加 <updatePolicy>always</updatePolicy>來強制每次都更新依賴庫。

<repositories>
        <repository>
                <id>yourid</id>
                <url>http://yourRepository</url>
                <releases>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                </releases>
                <snapshots>
                        <enabled>true</enabled>
                        <updatePolicy>always</updatePolicy>
                </snapshots>
        </repository>
</repositories>

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章