_remote.repositories文件的作用/Maven修改setting文件后本地仓库缓存了jar或pom但还是去远程仓库获取

_remote.repositories文件的作用/Maven修改setting文件后本地仓库缓存了jar或pom但还是去远程仓库获取

_remote.repositories文件介绍

1. 结构构成:

举个栗子

#Thu Jan 24 11:42:29 CST 2019
logback-parent-1.1.1.pom>nexus-aliyun=
logback-parent-1.1.1.pom>nexus-xx=
logback-parent-1.1.1.pom>mirror-all=
这里的nexus-aliyun表示setting.xml中配置的私服id
其中
这个文件存储的是每次从私服或者中央仓库下载的jar包的信息。
该logback-parent只有pom管理,所以没有jar

第3行:表示该pom第一次从nexus-aliyun(阿里云镜像)来的

第4行:表示更换远程仓库nexus-xx(xx私服)且该私服存在该pom,那么就将该私服地址写入到_remote.repositories.

第5行:表示镜像服务器mirror-all存在该pom

只有存在该资源的镜像或私服才会将私服或镜像的id写入到_remote.repositories中

参考资料:https://www.cnblogs.com/mySummer/p/9453777.html

假设我们更换了私服地址为nexus-abc,并且该私服不存在该资源,那么就会生成logback-parent-1.1.1.pom.lastUpdated文件;
也就是说,_remote.repositories文件,标示该资源的来源,如果你有这个_remote.repositories,那就会在访问本地的同时,必须确保远程上有才行(这里的远程是setting文件中配置的镜像或远程仓库,用id来进行关联,详情见标题2._remote…),否则就会报错;
参考资料:https://blog.csdn.net/zzb5682119/article/details/89217780

错误信息大体如下:

Could not resolve dependencies for project com-hallo-mybatis:generator:jar:1.0-SNAPSHOT: 
The following artifacts could not be resolved: com.tencent.tsf:spring-cloud-tsf-dependencies:pom:1.1.1-
RELEASE, com.tencent.tsf:spring-cloud-tsf-sleuth:jar:1.1.1-RELEASE, com.tencent.tsf:spring-cloud-tsf-
auth:jar:1.1.1-RELEASE: Failure to find com.tencent.tsf:spring-cloud-tsf-dependencies:pom:1.1.1-RELEASE in 
http://***:8081/repository/public/ was cached in the local repository, resolution 
will not be reattempted until the update interval of public has elapsed or updates are forced

2._remote.*和setting文件的py关系


    
      
      *
      mirror-all
      http://mirrors.cloud.tencent.com/nexus/repository/maven-public/
      custom
  
          
            
                central
                http://repo1.maven.org/maven2
                
                    true
                
                
                    true
                
            
        
_remote.repositories中>符号后的字符为setting文件中配置的标签下的id,也就是镜像服务器的id(自己定义),
也可以是标签下的id,表示远程仓库的id(自己定义);具体看本地仓库的构件是从哪里下载的;

3.maven setting配置文件 tips
3.1 setting不配置镜像或仓库时,会自动请求apache的maven仓库
3.2标签解读
本地仓库的路径


windows用户请注意,默认是在C盘

第三方插件的groupId(不常用)

例如:以下为springBoot的地址,但是为什么在idea中却不用指定该groupId也可以使用,
		是因为boot的maven中指定了spring-boot命令前缀
  
       org.springframework.boot  

给maven配置代理(不常用)


 
  
  
   
   myproxy
   
   true
   
   http
   
   proxy.somewhere.com
   
   8080
   
   proxyuser
   
   somepassword
   
   *.google.com|ibiblio.org
  
 

远程仓库的配置文件(deploy构件时常用,需要配置私服的账号及密码)



 
 
  
  server001
  
  my_login
  
  my_password
  
  ${usr.home}/.ssh/id_dsa
  
  some_passphrase
  
  664
  
  775
 

镜像服务器地址(常用,一般配置aliyun镜像)

可以配置多个镜像

        
        
              alimaven
              
              
              def
              aliyun maven
              http://maven.aliyun.com/nexus/content/groups/public/
        
        ...

仓库配置(常用,id与标签mirrorOf和_remote.repositories有关,repositories标签常配置在下)


   
    
    
     
     codehausSnapshots
     
     Codehaus Snapshots
     
     
      
      false
      
      always
      
      warn
     
     
     
      
     
     
     http://snapshots.maven.codehaus.org/maven2
     
     default
    
   
   
   
    
                     
           
      
     
     
      
     
     
     \


配置不同的profiles,使setting.xml配置和pom.xml进行联动
(在idea mavenProjects边栏中的profiles会出现这里设置的profiles的id,如下面的test,当被选中时它的值会覆盖任何其它定义在POM中或者profile.xml中的带有相同id的profile,通常配置在标签下)

 

 
 
  
  test

使配置的profiles手动生效(注意,如果这里不启用某一个profile的话,profile下的repositories将不会生效,默认仓库还是apache的默认仓库;另:这里设置的activeProfile会与pom.xml设置的profile产生联动,相同的id会被激活)
_remote.repositories文件的作用/Maven修改setting文件后本地仓库缓存了jar或pom但还是去远程仓库获取_第1张图片

    nexus
    qcloud-repo
    prd  



 env-test
 test


pom.xml配置构件发布
使用配置发布的私服地址及id
例:

*pom.xml*

		
		
		
			nexus-server@public
			http://ip:8081/repository/maven-releases
		
		
		
			nexus-server@public-snapshots
			http://ip:8081/repository/maven-snapshots
		

*setting.xml*

        
            nexus-server@public
            admin
            admin
        
        
            nexus-server@public-snapshots
            admin
            admin

更多关于标签的知识详见https://www.cnblogs.com/yangxia-test/p/4409736.html
本文只是对maven使用过程中的一点记录
耳鸣了一天,脑袋瓜子嗡嗡的

你可能感兴趣的:(分享)