[Maven]灵活配置setting文件

一、几个概念简单理解

mirror、repository
例如:我的配置如下:

  
     
        alimaven
        alimaven
        aliyun maven
        http://maven.aliyun.com/nexus/content/groups/public
     
   
        
        
          alimaven
          aliyun maven
          http://测试链接
          default
          
            true
          
          
            false
          
        
      

mirror标签中的mirrorOf设置为:alimaven,那么我的maven项目拉包的时候,就会把id为alimaven的repository的url,映射为:http://maven.aliyun.com/nexus/content/groups/public;
大家可以理解,mirror标签相当于个拦截器,会替换配置的repository;也可以理解为配置了相应repository的mirror,mirror就会生效。

profile标签
主要就是通过profile配置达到灵活切换远程仓库
servers
servers标签,如果,你的repository需要一些账号密码配置,就写到这里。
例如:

  
    
      alimaven
      test
      test
    
  

就表示,repository仓库id为alimaven,需要账号:test,密码:test

配置demo

之间上代码示范:



  /Users/ningfucheng/.m2/repository
  
  

  
    
      huaweicloud
      anonymous
      devcloud
    
  

  
    
  

  
    
      aliyun
      
        
          alimaven
          aliyun maven
          http://maven.aliyun.com/nexus/content/groups/public/
          default
          
            true
          
          
            false
          
        
      
      
        
          alimaven
          aliyun maven
          http://maven.aliyun.com/nexus/content/groups/public/
          
            true
            always
          
          
            true
            always
          
        
      
    
    
      huawei
      
        
          huaweicloud
          huawei maven
          https://mirrors.huaweicloud.com/repository/maven/
          default
          
            true
          
          
            false
          
        
      
      
        
          huaweicloud
          huawei maven
          https://mirrors.huaweicloud.com/repository/maven/
          
            true
            always
          
          
            true
            always
          
        
      
    
  

这里我的mirror注释掉了,因为不设置

然后在idea上的效果

[Maven]灵活配置setting文件_第1张图片
大家可以这样子勾中切换不同的repository源,这里只是demo,更多repository配置也可以这样弄。

我踩了个坑

之前也是看了其他blog,有些配置了

  
     aliyun  
 

在setting.xml文件中,如果这样子配置,那么在idea上,不管你怎么勾选profile,拉取的repository都是aliyun的。
因为idea其实是 -P aliyun 这样子或者-P huawei去切换profile,但是如果你在setting.xml文件中已经指定activeProfile,setting.xml文件中的profile优先级最高!!!注意各位

你可能感兴趣的:(maven)