簡體   English   中英

無法在Eclipse(Luna)Maven中安裝任何新庫

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM