[英]Cannot install any new libraries in Eclipse (Luna) Maven
這個錯誤剛剛開始出現,我安裝了任何新的maven依賴項。 依賴關系在Maven依賴關系樹中顯示為空,並且項目報告,例如:
Description Resource Path Location Type Archive for required library: '~/.m2/repository/com/ning/async-http-client/1.8.14/async-http-client-1.8.14.jar' in project 'LB' cannot be read or is not a valid ZIP file LB Build path Build Path Problem
我查看了每個新依賴項的POM文件,它們都包含在內:
<HTML>
<BODY>
This repo has moved to repo.boundlessgeo.com. Please update your settings.
</BODY>
</HTML>
所以我發現OpenGeo Maven Repo在此基礎上發生了變化:
<!-- <repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>opengeo</id>
<name>OpenGeo Maven Repo</name>
<url>http://repo.opengeo.org</url>
</repository> -->
替換為:
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>boundless</id>
<name>Boundless Maven Repository</name>
<url>http://repo.boundlessgeo.com/main</url>
</repository>
即使我修復了這個問題,所有其他依賴項仍然無法安裝。 知道為什么任何其他repo的POM文件不斷從OpenGeo獲取HTML通知? 我該怎么辦?
這是我的pom.xml的整個repo部分
<repositories>
<repository>
<id>maven2-repository.dev.java.net</id>
<name>Java.net repo</name>
<url>http://download.java.net/maven/2</url>
</repository>
<repository>
<id>osgeo</id>
<name>Open Source Geospatial Foundation Repo</name>
<url>http://download.osgeo.org/webdav/geotools/</url>
</repository>
<repository>
<snapshots>
<enabled>true</enabled>
</snapshots>
<id>opengeo</id>
<name>OpenGeo Maven Repo</name>
<url>http://repo.opengeo.org</url>
</repository>
<repository>
<id>central</id>
<name>The Central Repository</name>
<url>http://repo1.maven.org/maven2/</url>
</repository>
如果您在pom.xml中定義了一個存儲庫,該存儲庫提供靜態內容而不是正確的Maven存儲庫(在本例中為http://repo.opengeo.org ,已移至http://repo.boundlessgeo.org ), Maven將下載靜態內容作為pom,jar等,並抱怨它在以后被破壞。 即使在修復問題存儲庫之后,這些無效文件仍會保留在本地存儲庫中,直到您將其刪除為止 。
擺脫無效文件的最簡單方法是刪除整個〜/ .m2 /存儲庫並下載所有新文件。 但是,您也可以刪除問題文件(根據無效文件中的靜態內容調整grepped消息):
grep -lrIZ "This repo has moved to repo.boundlessgeo.com" ~/.m2/repository \
| xargs -r0 rm
然后執行正常的mvn clean install
並從更正的存儲庫下載有效的工件。
有關將http://repo.opengeo.org更新到http://repo.boundlessgeo.org的詳細信息,請參閱原始問題。
注意:Maven可能會下載無效的靜態內容,因為repo.opengeo.org返回的狀態代碼為200。
您是否有可能以某種方式將舊的OpenGeo Maven Repo配置為所有存儲庫的鏡像? 也許在您的本地settings.xml或Nexus工件庫中?
我碰到了類似的東西,我們的Nexus服務器在代理的OpenGeo存儲庫中以某種方式有一堆非OpenGeo工件。 一旦OpenGeo / BoundlessGeo repo移動,我得到了“此repo已移動”消息,直到我從代理存儲庫中刪除了非OpenGeo工件。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.