Could not transfer metadata maven-metadata.xml 

工作中同事使用maven时遇到了下面的问题报错:

Failure to transfer com.iii:iii-adex:1.0-SNAPSHOT/maven-metadata.xml">com.iii:iii-adex:1.0-SNAPSHOT/maven-metadata.xml 
from http://XXX.XXX.XX.com/artifactory/life">http://XXX.XXX.XX.com/artifactory/life was cached in the local repository, 
resolution will not be reattempted until the update interval of * has elapsed or updates are forced. 
Original error: Could not transfer metadata com.iii:iii-adex:1.0-SNAPSHOT/maven-metadata.xml 
from/to * (http://XXX.XXX.XX.com/artifactory/life): 
D:\code\repository\com\iii\iii-a dex\1.0-SNAPSHOT\maven-metadata-*.xml.part.lock (文件名、目录名或卷标语法不正确。)
 Downloading from *: http://XXX.XXX.XX.com/artifactory/life/com/iii/iii-adex/1.0-SNAPSHOT/iii-adex-1.0-SNAPSHOT.pom 
 [WARNING] The POM for com.iii:iii-adex:jar:1.0-SNAPSHOT is missing, no dependency information available

最终发现是因为他的maven配置文件settings.xml 中的mirror 的id写成了*。导致maven把maven-metadata.xml 重命名为maven-metadata-*.xml。但是*在windows中不能作为文件名

所以出现如上错误。

他的settings.xml的mirror类似如下:

</mirrors>
    <mirror>
        <id>*</id>
        <mirrorOf>central</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
</mirrors>

修改方法:

mirror 的id改成常规名字即可,如:

</mirrors>
    <mirror>
        <id>ali</id>
        <mirrorOf>central</mirrorOf>
        <name>阿里云公共仓库</name>
        <url>https://maven.aliyun.com/repository/public</url>
    </mirror>
</mirrors>

 

上一篇:spring源码16: @Autowired实现原理


下一篇:Spring不支持注入静态变量解析