最近接觸了一個機器人的項目,源碼經過maven實現jar包管理,對方開發商在創建代碼的本地構建了局域網內的maven本地倉庫,我拿到源碼,在咱們本身公司的本地環境進行部署發現,不少的依賴缺失,雖然jar包都存在,經過整理髮現,一些jar包的pom文件指向他們公司的本地maven倉庫,因此我就一個一個的找刪除而後經過maven從新下載,如今問題還在解決當中,有些心得當筆記,記錄一下spring
一、注意倉庫問題,任何錯誤都來源於倉庫,注意倉庫的更新,尤爲是pom文件,尤爲是在創建本地局域網倉庫時pom頗有可能指向本網絡
地局域網倉庫,遇到相應的包出現問題時,找到相應的包的位置,刪除原包,讓maven從新下載匹配maven
二、當包缺乏能夠經過mvn -install命令下載,從依賴在找依賴開發
通過幾天的琢磨,終於解決了missing artifact的錯誤,解決辦法以下:部署
一、把pom文件中的全部依賴所有刪除,一個一個的往裏添加,最後發現,有兩個依賴添加以後就會出現全部依賴包missing源碼
二、在本地依賴庫中找到那兩個jar包,發現包存在,在看jar包的pom文件發現,他的設置裏有指向到本地倉庫的依賴(此jar包爲本地另外一項目編譯的jar包回傳至本地倉庫,生成的pom文件,可是因爲我網絡環境的變化,沒法找到本地倉庫地址)io
三、將這兩個指向本地倉庫的pom文件刪除(刪除以前,將這兩個jar包pom文件中的關於此jar包的依賴拷入到目前項目的pom文件中),利用mvn install:install-file -Dfile={filepath} -DgroupId={groupid} -DartifactId={artifactid} -Dversion={version} -Dpackaging=jar命令,從新生成這個兩個jar包的pom文件。編譯
此時,項目pom文件中的missing artifact錯誤消失。最後項目依舊報錯,發現spring的包有衝突,同時用了3.0.2版本和3.0.5版本,註釋3.0.2版本的依賴,解決問題。file