maven项目中,添加依赖后,出现"Dependency 'xxxx‘ not found"解决过程

来源:互联网 发布:http的默认端口 编辑:程序博客网 时间:2024/06/07 21:03

在idea中修改pom.xml文件,添加各种工程依赖的jar,一直没有问题,但有一天突然添加了一个jbpm3的依赖,发现一直报“Dependency 'xxx' not found",但在maven的仓库中可以找到的,就觉得奇怪了。

经过一段时间的了解后,主要和几个文件有关:

(1)、maven的settings.xml文件

如果你设置了镜像代理,但不巧的是设置成了如下内容(网上有帖子就要求这么设置aliyun的镜像的):

 <mirror>  

      <id>alimaven</id>  

  <name>aliyun maven</name>  

 <url>http://maven.aliyun.com/nexus/content/groups/public/</url>  

      <mirrorOf>*</mirrorOf>      //最好不要*,这就表示所有的仓库只使用aliyun的镜像,实际是aliyun只镜像了central,所以这里写成central

</mirror>  


(2)、以我们上面的为例,jbpm3在maven repository可以查到,但查找的结果如下所示(注意红框,它表示这个jar在哪个仓库中):


上面明确表示,这个jar包在JBoss Releases的仓库,而不是在常见的Central中,如下图所示:


默认情况下,只会重Central中下载,而镜像一般只会镜像central库,所以就会导致上面的”Dependency 'xxxx‘ not found"情部了。

(3)、解决方法

原因都知道了,就好办了。一种是在settings.xml中添加对应的仓库,另一种是在pom.xml直接添加额外的仓库。推荐第二种,如下(在</project>之前添加):

<repositories>    <repository>        <id>JBoss repository</id>        <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>    </repository></repositories>
然后重新导入一下,理论上应该解决了。第一种方法就是在settings.xml中添加如下镜像:

 <mirror>  

      <id>jboss</id>  

<name>jboss</name>  

 <url>https://repository.jboss.org/nexus/content/repositories/releases/</url>  

 <mirrorOf>JBoss Releases</mirrorOf>        

</mirror>  
希望对你有帮助。



阅读全文
0 0
原创粉丝点击