eclipse每天啓動時maven 自動download jar包的pom解決方法

現在開發java項目很多都用到了maven進行jar包的管理,一般在企業裏都會建立私服Nexus。近期遇到個問題,有個工程,每天啓動eclipse時,都會有一次download jar包的pom,由於網絡原因(用到代理上網),無法連接私服,導致download失敗,啓動不了。但是eclipse裏的其他工程卻沒有這樣的問題。

 

        初步分析,相關jar包已經在本地倉庫裏,不應該再去下載什麼,就像其他項目一樣,應該直接啓動。

 

        找到本地倉庫裏下載失敗的相關jar目錄裏的文件和其他jar目錄文件對比。會發現下載失敗的jar包目錄裏有很多

 

        xxxxx.pom.lastUpdated這樣的文件,有些還帶些一長串的隨機碼,這些應該都是下載失敗的零時文件。類似於迅雷一開始下載就會建立臨時文件。  jar包名+.pom應該是該jar包的依賴配置,這也是爲什麼,我們只在pom.xml文件中配置一個關鍵jar,其他相關jar都會下載的原因,相當於一個依賴鏈。分析eclipse啓動的時候,會檢查一次(可能是每次啓動檢查一次,也可能是需要檢查成功一次以後就不用檢查),檢查時發現沒有有效的pom文件,就會去下載。下載繼續失敗,只是又多了幾個lastUpdated的臨時文件。

 

       解決方法,找個能連接到Nexus的網絡,啓動一次。我的新的問題是,這樣處理後,這一天是沒問題了。到了第二天問題依舊。

 

       公司的Nexus的服務器上沒有這幾個jar包,所以就算能連接上也只能管一天。至於nexus上爲什麼沒有,可能是後期被人刪掉了

 

      因爲是別人移交過來的項目,開始以爲是項目的pom文件裏做了什麼特殊配置導致的。檢查過,修改過還是不行

 

     網上找的資料說是刪掉lastUpdated文件,嘗試後無效。後來想到自己給jar包建立pom文件,找個下載好的jar包裏的pom文件來修改

     <?xml version="1.0" encoding="UTF-8"?>
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.adobe.flex</groupId>
  <artifactId>flex-messaging-common</artifactId>
  <version>4.0.0</version>
  <description>POM was created by Sonatype Nexus</description>
</project>

 

 

這就是基本格式,幾個配置信息都可以在項目的pom.xml中獲得,除了modelVersion,這個就暫時和version配置一樣

 

激動的啓動eclipse還是不行,又看到jar包目錄裏的_maven.repositories文件,和正常的jar包裏的文件對比,發現差別

 

flex-messaging-proxy-4.0.0.pom>jboss=

 

正常的是:

flex-messaging-opt-4.0.0.pom>Nexus=

 

就把上面改成>Nexus=

 

再啓動eclipse,ok。

 

也印證瞭解決一個問題的基本方法,對比。比較不同,一點點的改成一樣,就可以找到問題的關鍵點

 

 

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章