問題現(xiàn)象
使用Maven過程中予权,曾經(jīng)出現(xiàn)過本地倉庫中已經(jīng)存在某jar包嘲驾,但是Maven仍然從遠(yuǎn)程倉庫下載jar包的現(xiàn)象精拟,并且可能會報出類似以下的錯誤:
[exec] [ERROR] The project com.acme:test:0.0.1-SNAPSHOT (/home/acme/pom.xml) has 1 error
[exec] [ERROR] Non-resolvable parent POM: Failure to find com.acme.maven:parent-pom:pom:2 in http://repo.maven.apache.org/maven2 was cached in the local repository, resolution will not be reattempted until the update interval of central has elapsed or updates are forced and 'parent.relativePath' points at no local POM @ line 5, column 13 -> [Help 2]
解決方案
在stackoverflow看到了類似的問題席赂,可以通過刪除_remote.repositories
文件解決問題等缀。
Maven使用_remote.repositories
文件存儲本地jar對應(yīng)的遠(yuǎn)程倉庫源頭。如果源頭已經(jīng)不存在該jar包(比如更改配置切換鏡像丙猬、切換倉庫導(dǎo)致的)涨颜,Maven的resolve會失敗费韭,從而導(dǎo)致項(xiàng)目構(gòu)建失敗茧球。刪除了該文件以后,Maven不再從遠(yuǎn)程倉庫執(zhí)行此操作星持,因此可以解決問題抢埋。