2010-10-21 96 views
10

我們無法部署我們的應用程序,因爲Maven試圖從maven.ocean.net.au存儲庫更新glassfish插件,儘管沒有在我們的pom中定義這樣的存儲庫。問題是maven.ocean.net.au不在線,因此我們的構建失敗。這發生在其他人身上嗎?Maven試圖從maven.ocean.net.au更新glassfish插件

+0

剛剛看到glassfish插件有一個依賴maven.ocean.net.au – cbaby 2010-10-21 15:03:19

回答

0

我想你正在使用org.glassfish.maven.plugin:maven-glassfish-plugin:2.2-SNAPSHOT,它確實將http://maven.ocean.net.au/snapshot聲明爲快照存儲庫。

我的建議是使用發佈的插件版本,例如,版本2.1(此插件的發佈版本託管在java.net Maven2 Repository中),或者將版本2.2修補並部署到您的內部公司存儲庫(即不要使用Ocean Maven2 Snapshot Repository的快照)。

+6

我使用2.1(不是快照),也有問題。這很令人沮喪,因爲我已經有了神器; maven試圖(不必要地)更新它時掛起。 – 2011-06-15 17:53:44

1

如果沒有其他存儲庫使用您試圖使用的glassfish插件的版本,依賴關係解析將失敗。

確保您的maven安裝程序有其他幾個插件庫(最好是本地資源庫,它向遠程服務器發送請求代理請求,以構建一個巨大的Maven工件本地緩存),以便在單個回購站時解決方案不會失敗不能達成。

0

我有同樣的問題。我現在發現的唯一解決方案是從所有依賴項(3)中刪除所有存儲庫(或將它們切換爲enabled = false)。

他們應該把所有這些存儲庫放到配置文件中,這是可怕的解決方案。如果服務器有任何迴應,那就沒問題了,但它只是掛起了。超時設置也被忽略。

0

我在eclipse中解決了這個問題,方法是右鍵單擊POM並在脫機模式下創建一個新的運行配置。顯然,保存的maven版本會忽略全局設置並使用它們自己的配置。當然,如果你真的需要其他更新,你會很長時間等待,但這對我有幫助。

0

這是Glassfish Maven插件上的.pom 3.1版本的問題:現在定義了3個離線庫,我相信它們沒有用處,因爲一切都在Central。這可能是快照的剩餘部分沒有被刪除。

我發現了一個骯髒的方式來擺脫產生的延遲,直到行家超時請求那些脫機服務器:

  1. 導航到你的本地庫
  2. 輸入文件夾.m2\repository\org\glassfish\maven\plugin\maven-glassfish-plugin\2.1
  3. 打開文件maven-glassfish-plugin-2.1.pom與任何文本編輯器
  4. 轉到第146行(版本3。1)讀取<repositories>並設置 所有3個庫在3.1版)
  5. 符合202(設置<enabled>false</enabled>爲 兩個版本和快照
  6. 執行相同的<pluginRepositories>刪除文件maven-glassfish-plugin-2.1.pom.sha1maven-glassfish-plugin-2.1.pom.md5防止Maven的從禁用下載它們並覆蓋這些變化

這不是聰明的,這不是很酷,它遠遠不是最好的解決辦法,但至少你會從重新部署一次,並再次保存幾分鐘。

+0

再次閱讀所有答案後,這似乎是dmatej提出的,儘管我一開始並沒有得到答案。所以我要離開這個,因爲對其他人來說會更清楚些。 – 2015-05-06 17:59:13