簡介
本文介紹如何更新依賴(使用遠端倉庫的依賴)。
問題描述
項目A依賴項目B,此時項目A可以正常建構。别人修改項目B,并将B項目Deploy到私服,我在本地用IDEA建構項目A,建構失敗。
原因分析
編譯項目A時,先在本地maven倉庫中尋找項目B,如果找到就用本地maven倉庫的依賴,如果本地maven倉庫沒有找到,才會去遠端倉庫拉取。是以建構A時,老的jar沒有新版本中新增的内容,導緻編譯出錯。
解決方案
有效的方案
方案1:删除本地項目B的依賴
方法
用IDEA找到依賴在maven倉庫中的位置,然後手動删除那個檔案夾。
詳解
在IDEA裡操作:File=> Project Structure=> Project Settings=> Libraries

方案2:将updatePolicy改為always
更改settings.xml,将updatePolicy改為always。
<profile>
<id>nexus</id>
<repositories>
<repository>
<id>central</id>
<url>http://central</url>
<releases>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</releases>
<snapshots>
<enabled>true</enabled>
<updatePolicy>always</updatePolicy>
</snapshots>
</repository>
</repositories>
</profile>
方案3:更新版本号
方法
将項目B的版本号更新,項目A也修改為新版本号。
詳解
新的版本号會在遠端倉庫生成新的檔案,本地倉庫會重新下載下傳。
無效的方案
方案1:指令行更新依賴
mvn clean install -U
- -U,–update-snapshots
- Forces a check for missing releases and updated snapshots on remote repositories
方案2:指令行删除本地依賴
mvn dependency:purge-local-repository -DmanualInclude=groupId:artifactId