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下有如下声明:
       
    org.jvnet.localizer        
    localizer       
    1.8
当你建立这个 Maven 项目,它将报错:依赖找不到,并输出错误信息。

b、正确的声明方式
a段声明保留,只需要在pom文件下加入如下配置,即配置远程仓库,就能正确找到jar包
在本地资源库没有找到org.jvnet.localizer,在中央资源库也没找到,需要声明远程仓库,到远程仓库去查找依赖

        
        java.net    
        https://maven.java.net/content/repositories/public/
        

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的值:

        
              
            java.net      
            https://maven.java.net/content/repositories/public/    
         
    


    
          
        
            JBoss repository
            http://repository.jboss.org/nexus/content/groups/public/      
            
    


你可能感兴趣的:(项目构建——Maven)