在maven编译时,有可能会遇到“Failed to read artifact descriptor for xxx:jar” 的错误,网上的绝大部分文章都是说要Reimport All Maven Projects(Intellij IEDA)或者Update Project(Eclipse)。不过,有可能你重新导入依然会报上面的错误,这时就要找到引发不能读取的原因。其中一种可能的情况就是,你所依赖的jar无法正确下载,原因是该jar依赖的父工程搜索不到。
最近在做一个项目时,依赖另外一个工程的一个基础jar,但是所以来的jar是由其父工程下其中一个模块。只把子模块工程发布到私服上,而父工程未发布,便会导致上述问题。解决方案很简单,在父工程的pom.xml文件中加入私服地址和用户名密码,将父工程一同发布到nexus私服上,再重新按照第一段说的方式导入,即可解决该问题。