zoukankan      html  css  js  c++  java
  • Maven问题:Could not find metadata org.junit.jupiter:junit-jupiter-api/maven-metadata.xml

    遇到这么一个问题。有一个Maven项目,在互联网环境下,下载jar包后,构建是成功的,但将这些下载后的jar文件移到无互联网的局域网中构建,就会报这个错。

    如图:

    很明显,如果是互联网,或者局域网内有nexus私库的,那么遇到这个问题应该是将库文件删了重新构建。但如果是已经完全是使用本地库,还需要这个问题,那么可以用我发现的这个方法试一试:

    根据提示,我在本地库文件中将maven-metadata-aliyun.xml复制了一份出来,重命名为maven-metadata.xml,构建还是失败。

    偶然的,我执行了如下操作,使构建又能成功了。

    前提:在无互联网的局域网中。

    1、首先编辑Maven的settings,将mirror中的互联网镜像去掉,换上本地的。比如:

    <mirror>
        <id>central</id>
        <mirrorOf>*</mirrorOf>
        <name>central</name>
        <url>file://D:\java\localRepository</url>
    </mirror>

    另外有一个offline参数,我不知道有没有影响,尝试以下操作时我是设置为true的。

    2、在maven-metadata.xml同目录结构下有一个resolver-status.properties文件,删掉它,执行构建。当然这一次还是会失败,但是resolver-status.properties会被再次生成,查看以下内容,我的里面内容有这么一个文件的描述:maven-metadata-central.xml

    3、将原有的maven-metadata-aliyun.xml复制一份,重命名为resolver-status.properties中的文件名,比如我这里就是重命名为maven-metadata-central.xml。

    4、再次构建,问题已经解决。

    这里要注意的是,第一步里我有一个删除resolver-status.properties的操作,原因是有时候下载来源不是maven中心库或者阿里云库这么简单,可能Maven项目的依赖原本就来源于某公司的Nexus的私库,那么resolver-status.properties中有可能是自定义的私库地址。删掉了会重新建立resolver-status.properties,那么缺少的maven-metadata是哪一个,就一目了然了。

    遇到这个问题可能是我对Maven了解的不够深入,具体产生的原因其实我是没搞清楚的。说不定各位大神有更好的解决办法(比如禁止Maven每次构建下载metadata.xml等,这我也在网上看到过)。

  • 相关阅读:
    使用uploadify上传图片时返回“Cannot read property 'queueData' of undefined”
    用户在网站注册,网站通过微信发送验证码,这个操作是怎么实现的?
    Javascript Array和String的互转换。
    JS判断一个数组中是否有重复值的三种方法
    监控聚币网行情 并实时发送到微信
    聚币网API使用教程 demo
    sourceTree安装与使用
    SourceTree 的初次使用的两个小问题
    解决oracle语句中 含数字的字符串按数字排序问题
    使用git pull文件时和本地文件冲突怎么办
  • 原文地址:https://www.cnblogs.com/wang-ze/p/13753010.html
Copyright © 2011-2022 走看看