今天遇到一个很坑很坑的问题就是maven下载jar包失败的问题,这个问题很常见,基本原因就那些,无非就是配置jar包版本库里面没有,或者连接仓库超时,下载失败,需要把本地maven库里面的jar删除之后再下载。这是常见的原因。但是还有一种很坑的情况,网上是没有的,费了好大的力气才找到原因。

有时候在做项目微服务的时候,我们会把自己写的一些依赖的jar包上传到公司maven库,比如这样:

    <distributionManagement>
        <repository>
            <id>releases</id>
            <name>Releases</name>
            <url>http://***:8081/nexus/content/repositories/releases</url>
        </repository>
        <snapshotRepository>
            <id>snapshots</id>
            <name>Snapshots</name>
            <url>http://***:8081/nexus/content/repositories/snapshots</url>
        </snapshotRepository>
    </distributionManagement>

在pom文件这样配置之后就可以用deploy命令上传jar包了,当然setting.xml还要配置

<server>  
	<id>snapshots</id>  
	<username>*</username>  
	<password>*</password>  
</server>

注意两个id要一致,不然会401。

好这个时候就可以通过deploy命令将jar包上床maven库了, 

问题就在这里,如果你上传的maven包,有相关的依赖没有上传,那么你的包就下载不下来

举个例子:

 <artifactId>xuyong-test-web</artifactId>

    <properties>
        <java.version>11</java.version>
    </properties>

    <dependencies>

        <dependency>
            <groupId>com.isoft.test</groupId>
            <artifactId>xuyong-test-api</artifactId>
            <version>1.0.0-SNAPSHOT</version>
        </dependency>

我这里是xuyong-test-web这个jar依赖了xuyong-test-api这个jar。如果我单单的上传xuyong-test-web。是可以上传成功的,但是你在其他的项目里面依赖xuyong-test-web的话,这个jar是下载不下来的,怎么都是下载不下来,坑爹的很。所以在微服务比较流行的今天,我觉得这种问题可能还是挺常见,所以写了篇文章分享出来,方便给为解决问题。

 

 

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐