亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如果失敗,Maven 重試依賴項下載

如果失敗,Maven 重試依賴項下載

慕村9548890 2022-10-26 15:48:42
在通過 maven 下載依賴項期間,其中一個由于網絡問題而失?。篋ownloading: https://repo.maven.apache.org/maven2/org/apache/maven/plugins/maven-failsafe-plugin/2.16/maven-failsafe-plugin-2.16.pomPlugin org.apache.maven.plugins:maven-failsafe-plugin:2.16 or one of its dependencies could not be resolved: Failed to read artifact descriptor for org.apache.maven.plugins:maven-failsafe-plugin:jar:2.16我想在可配置的n時間重試它。n我怎樣才能做到這一點?
查看完整描述

4 回答

?
蝴蝶不菲

TA貢獻1810條經驗 獲得超4個贊

我在 Gitlab CI/CD 中遇到了類似的問題。這似乎已經解決了這個問題:

-Dmaven.wagon.http.retryHandler.count=3

從 3.2 版開始,可以使用系統屬性配置重試處理程序:

...


    • maven.wagon.http.retryHandler.count= 默認或標準實現的重試次數。

此處描述了其他 HTTP 客戶端設置:https ://maven.apache.org/wagon/wagon-providers/wagon-http/

編輯:正如 keiki 在評論中指出的那樣,3似乎是默認值,因此尚不清楚設置此值將如何幫助。請用您的經驗發表評論。


查看完整回答
反對 回復 2022-10-26
?
白豬掌柜的

TA貢獻1893條經驗 獲得超10個贊

由于保持活動連接被關閉,Maven 似乎在獲取依賴項方面存在問題。當您mvn在構建環境(Docker、Azure、Jenkins)中運行并且構建相當長(> 5 分鐘)時,會發生這種情況。

使用這個 maven 標志來禁用 HTTP 請求的 keep-alive 并查看它是否解決了您的問題:

-Dhttp.keepAlive=false

其他人也提到過使用這個標志:

-Dmaven.wagon.http.pool=false

例如

mvn -Dhttp.keepAlive=false -Dmaven.wagon.http.pool=false clean package

天藍色的原始解決方案的來源


查看完整回答
反對 回復 2022-10-26
?
明月笑刀無情

TA貢獻1828條經驗 獲得超4個贊

如果您在 NAT 后面的環境中運行,并且 NAT 超時很短,一種可能性是-Dmaven.wagon.httpconnectionManager.ttlSeconds=25在 maven 中設置而不是禁用 http 連接池。

這在 apache/pulsar 存儲庫中使用:

env:
  MAVEN_OPTS: -Dmaven.wagon.httpconnectionManager.ttlSeconds=25 -Dmaven.wagon.http.retryHandler.count=3

WAGON-545 的最后一條評論中,它說“Azure 用戶應將 TTL 設置為 240 秒或更短?!?/p>


查看完整回答
反對 回復 2022-10-26
?
不負相思意

TA貢獻1777條經驗 獲得超10個贊

讓我建議一個替代解決方案:

在本地網絡中設置 Nexus 或 Artifactory 服務器。讓您的構建貫穿其中。它將緩存所有使用過的工件,從而大大降低遇到網絡問題的風險。


查看完整回答
反對 回復 2022-10-26
  • 4 回答
  • 0 關注
  • 162 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號