java

关注公众号 jb51net

关闭
首页 > 软件编程 > java > Maven打包时每次都出现Download maven-metadata.xml卡住

如何解决Maven打包时每次都出现Download maven-metadata.xml卡住问题

作者:初心绘流年

这篇文章主要介绍了如何解决Maven打包时每次都出现Download maven-metadata.xml卡住问题,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教

解决Maven打包时每次都出现Download maven-metadata.xml卡住

问题描述

项目每次打包的时候,都要联网加载maven仓库(或私服),从仓库中下载jar包或者标题中提到的maven-metadata.xml文件。

明明本地仓库中依赖包都有还是下载,导致每次打包的时候如果网络不好或者没网的时候就打不了包了或者卡很久才跳过去,搞的我很烦燥。

解决办法

解决方式(1)

据说把IDEA的maven设置改成offline就可以了(Eclipse同理)

在这里插入图片描述

解决方式(2)

虽然(1)有的人说有效,但是我感觉对我来说无效,于是尝试了另外一种方式,修改maven的配置文件settings.xml文件,在<profile>标签中会配置更新政策,我们只需要将updatePolicy改为never即可.

含义:

示例如下:

<profile>
    <id>myrepo</id>
    <repositories>
        <repository>
            <id>nexus-snapshots</id>
            <url>http://我的私服地址</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <!--<updatePolicy>always</updatePolicy>-->
                <updatePolicy>never</updatePolicy>
                <enabled>true</enabled>
            </snapshots>
        </repository>
    </repositories>
    <pluginRepositories>
        <pluginRepository>
            <id>nexus-releases</id>
            <url>http://我的私服地址</url>
            <releases>
                <enabled>true</enabled>
            </releases>
            <snapshots>
                <!--<updatePolicy>always</updatePolicy>-->
                <updatePolicy>never</updatePolicy>
                <enabled>true</enabled>
            </snapshots>
        </pluginRepository>
    </pluginRepositories>
</profile>

按照这个方式修改完之后,项目基本就不下载了,直接打包,除了项目的CAS模块以外的其他模块都是离线打包(使用本地仓库),看样子行之有效,至于为啥CAS模块还在下载,目前还不清楚,先留个眼,啥时候解决了再更新!!

maven build后Downloading maven-metadata.xml问题

maven在build后会自动去Downloading 这个maven-metadata.xml文件,这个文件可以看作版本信息,作为一个版本比对。

但maven服务器在挂了之后,会一直卡在DOWNLOADING和retry。

解决方案

找到安装maven目录下 **\apache-maven-3.5.2\conf\settings.xml,打开后找到下面:

 <repository>
    <id>snapshots</id>
    <name>Snapshots</name>
    <url>url</url>
    <releases>
     <enabled>false</enabled>
    </releases>
    <snapshots>
     <enabled>true</enabled>
     <updatePolicy>always</updatePolicy>
    </snapshots>
 </repository>

找到xml中的updatePolicy标签,改为never即可。

<repository>
    <id>snapshots</id>
    <name>Snapshots</name>
    <url>url</url>
    <releases>
     <enabled>false</enabled>
    </releases>
    <snapshots>
     <enabled>true</enabled>
     <updatePolicy>never</updatePolicy>
    </snapshots>
   </repository> 

改完后再去build就不会去download maven-metadata.xml文件了,根据自己需求改。

这个属性为更新策略,aways:每次,never:从不,daily:每日。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。

您可能感兴趣的文章:
阅读全文