maven系列--3-Maven从远程仓库下载jar包以及添加远程仓库的方法

用maven来构建项目,依赖jar包不用放到lib下面了,直接在pom文件声明即可。但是pom文件声明引用的jar包,默认是从maven中央仓库下载的。如果引用了不存在中央仓库的jar包,就会报错:依赖找不到。这时候就得为这个jar包添加远程仓库,告诉maven,这个jar包不是从你的中央仓库获取的,是从我指定的远程仓库获取的。
1、例子:
a、pom文件引用了一个不存在中央仓库的jar包,它存放在Java.net资源库中
org.jvnet.localizer 只适用于  Java.net资源库
在pom.xml下有如下声明:
<dependency>       
    <groupId>org.jvnet.localizer</groupId>        
    <artifactId>localizer</artifactId>       
    <version>1.8</version>
</dependency>
当你建立这个 Maven 项目,它将报错:依赖找不到,并输出错误信息。

b、正确的声明方式
a段声明保留,只需要在pom文件下加入如下配置,即配置远程仓库,就能正确找到jar包
在本地资源库没有找到org.jvnet.localizer,在中央资源库也没找到,需要声明远程仓库,到远程仓库去查找依赖
<repositories>
    <repository>    
        <id>java.net</id>    
        <url>https://maven.java.net/content/repositories/public/</url>
    </repository>    
</repositories>

2、Maven的依赖库查询顺序为:
  1. 在 Maven 本地资源库中搜索,如果没有找到,进入第 2 步,否则退出。
  2. 在 Maven 中央存储库搜索,如果没有找到,进入第 3 步,否则退出。
  3. 在java.net Maven的远程存储库搜索,如果没有找到,提示错误信息,否则退出。

3、总结
默认情况下,Maven从Maven中央仓库( http://search.maven.org/ 下载所有依赖关系。但是,有些库丢失了,在Maven中央仓库找不到,只有在Java.net或JBoss的储存库远程仓库中才能找到,这时候就要添加远程仓库:
repositories标签下可以放多个repository,repository下需要指定id和url的值:
<project ...>
    <repositories>    
        <repository>      
            <id>java.net</id>      
            <url>https://maven.java.net/content/repositories/public/</url>    
        </repository> 
    </repositories>
</project>

<project ...>    
    <repositories>      
        <repository>
            <id>JBoss repository</id>
            <url>http://repository.jboss.org/nexus/content/groups/public/</url>      
        </repository>    
    </repositories>
</project>


  • 1
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值