Maven Dependency 下載失敗問題

前言

在使用Maven私服Sonatype Nexus的時候,常常會出現依賴包找不到的問題.apache

此時經過瀏覽器去私服頁面查看,發現依賴包座標是存在的,對應的文件(好比jar文件).  api

或者私服上面也找不到文件,可是引入的中央倉庫或者其餘公服上面有文件.瀏覽器

@Author duangr網絡

@Website http://my.oschina.net/duangr/blog/182134eclipse

1.問題描述

在經過pom.xml中的依賴座標,從私服下載依賴包時,每每會遇到以下的相似問題:
oop

The container 'Maven Dependencies' references non existing library '${groupid}/${artifactid}-${version}.jar'
spa

e.g.
.net

The container 'Maven Dependencies' references non existing library 'E:\Maven\repo\org\apache\hadoop\hadoop-yarn-api\2.0.0-cdh4.5.0\hadoop-yarn-api-2.0.0-cdh4.5.0.jar'

2.解決方案

上面問題每每是在下載依賴過程當中網絡出現問題致使的.命令行

此時咱們本機已經開始下載依賴代碼,可是下載失敗,本機倉庫中會在${MAVEN_repo}/${groupid}/${artifactid}/${version} 路徑下面生成 *.lastUpdated 的文件.code

*.lastUpdated實在可惡,下次再下載時因爲它的存在Maven不會再去私服中下載

2.1 解決方法:(針對PC與Maven私服之間網絡傳輸問題)

  1. 打開本地倉庫所在目錄, 經過win文件夾的搜索功能,查找 *.lastUpdated ,而後將找到的文件所有刪除

  2. 從新 Maven Update Project,

    1. 若在eclipse中操做時勾選上 Force Update of Snapshots / Releases

    2. 若在命令行操做時增長 -U 參數

通常狀況下上面方法便可解決問題. 若問題依然存在,請確認下主機與Maven私服之間網絡是否暢通.能夠經過在瀏覽器中打開私服地址確認.

若本機與私服以前網絡暢通,那這個問題多是因爲私服與中央倉庫(或者其餘第三方倉庫)之間下載依賴時網絡故障致使的.

2.2 解決方法:(針對私服與中央倉庫或第三方倉庫之間網絡傳輸問題)

  1. 使用管理員登錄私服頁面(Sonatype Nexus)

  2. 在倉庫的瀏覽頁面找到下載失敗的包, 右鍵菜單 "Update Index", 右鍵菜單 "Expire Cache" 


  3. 按照PC與私服之間網絡問題的解決步驟處理一遍

3.相關連接

相關文章
相關標籤/搜索