Maven中Could not transfer artifact xxx from/to xxx问题(附镜像云配置)

169 阅读1分钟

方法1.

这个问题主要就是在你下载相关的依赖包时,没有下载成功照成的,需要找到对应的maven库包,删除以 .lastUpdated 结尾的文件,然后重新下载,一般可以得到解决,

这里有一个脚本,删除maven本地仓库以 .lastUpdated 结尾的文件

创建一个新的项目和类,然后复制粘贴以下脚本运行即可

import java.io.File;

import java.io.IOException;

 

//列出File的一些常用操作

public class util {

    /**

     * 遍历指定目录下(包括其子目录)的所有文件,并删除以 lastUpdated 结尾的文件

     * @param dir 目录的位置 path

     * @throws IOException

     */

    public static void listDirectory(File dir) throws IOException {

        if (!dir.exists())

            throw new IllegalArgumentException("目录:" + dir + "不存在.");

        if (!dir.isDirectory()) {

            throw new IllegalArgumentException(dir + " 不是目录。");

        }

        File[] files = dir.listFiles();

        if (files != null && files.length > 0) {

            for (File file : files) {

                if (file.isDirectory())

                    //递归

                    listDirectory(file);

                else{ // 删除以 lastUpdated 结尾的文件

                    String fileName = file.getName();

                    boolean isLastupdated = fileName.toLowerCase().endsWith("lastupdated");

                    if (isLastupdated){

                        boolean is_delete = file.delete();

                        System.out.println("删除的文件名 => " + file.getName() + "  || 是否删除成功? ==> " + is_delete);

                    }

                }

            }

        }

    }

 

    public static void main(String[] args) throws IOException {

        // 指定maven的本地仓库

        listDirectory(new File("D:\\server\\maven\\repository"));

    }

}

方案2.

删除完lastUpdated 结尾的文件后进行配置国内的阿里云镜像

先找到maven的位置,如果不知道具体路径的可以看当初环境变量中MAVEN_HOME的配置路径

 

 

 

找到对应的setting.xml文件用记事本打开

 

找到对应位置进行配置,然后保存即可