最近接触了一个机器人的项目,源码经过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