maven setting 配置仓库,pom.xml中repository不起作用

问题描述

最近做java项目,需要使用公司自己搭建的maven仓库,但是有些包公司的仓库中没有,导致下载失败。

项目环境

jdk:1.8

maven:3.5

问题原因分析

maven的setting文件配置信息如下:



    /data/repository
    
        
            releases
            123
            123
        
        
            snapshots
            123
            123
        
    
    
        
        
            nexus
            *
            http://server.dev.****.com:8000/nexus/content/groups/public/
        
    
    
        
            nexus
            
                
                    central
                    http://central
                    true
                    true
                
            
            
                

 

pom.xml中的配置:


			
			aliyun-repos
			https://maven.aliyun.com/repository/public
			true
			false
		
        
		    sonatype-repos-s
			Sonatype Repository
			https://oss.sonatype.org/content/repositories/snapshots
			falsealways
			truealways
		
	

  

我需要下载的包的仓库地址在pom文件中配置了,就是 https://oss.sonatype.org/content/repositories/snapshots,这个仓库,

但是为什么下载的时候没有起作用呢?问题就出在setting中如下部分:


      nexus
      *
      http://server.dev.****.com:8081/nexus/content/groups/public/
 

mirrorof标签,这个标签如果设置为*,就说明整个工程只能使用settings中配置的地址,这个就是问题的根源。

解决办法

  在settings文件的mirrorof标签中内容改成(!sonatype-repos-s,*),括号里面的内容,不包括括号,这样做的意思是,!sonatype-repos-s意思是sonatype-repos-s这个仓库排除在外,依然把公司的仓库作为唯一仓库,这样就可以使用settings文件中配置的仓库和pom.xml配置的仓库都生效。

 

-------------------------------------------------------------分割线---------------------------------------------------------------

番外话:上面的问题产生的根本原因是,我们平时做项目时一般都是复制粘贴,根本不知道有些配置项什么意思,出了问题就百度,但是有时百度查不到时,还是要老老实实的从原理入手。

 

你可能感兴趣的:(maven setting 配置仓库,pom.xml中repository不起作用)