场景:
使用eclipse导入公司的项目,结果pom文件大量报错.各种jar包缺失.各种jar包报错:"...missing artifact "
原因:
由于网络不好,在加载项目的时候,从远程仓库下载jar失败,在本地的maven仓库中出现很多以.lastUpdated和.sha1-in-progress后缀的文件和jar包.
解决方案:
由于下载失败的jar包太多,所以需要使用java程序递归进行批量删除.删除后再update此maven项目,重新下载pom文件所依赖的jar包即可.(也可以在本地maven仓库的settings.xml更换远程仓库)
java代码如下:
package com.example.demo;
import java.io.File;
public class DelFileEndWithLasted {
public static void main(String[] args) {
File file = new File("E:/repository");
// System.out.println(file.isDirectory());
// 需要使用递归的方法
deleteFile(file);
}
// 删除repository下的以lastUpdated结尾的文件,解决pom.xml文件报错的问题
public static void deleteFile(File file) {
if (file.isDirectory()) {
// 是目录就遍历下面的文件
File[] files = file.listFiles();
for (File file2 : files) {
deleteFile(file2);
}
} else {
// 不是目录就判断文件是否是以lastUpdated结尾,就删除该文件
//.sha1-in-progress
if (file.getName().endsWith(".lastUpdated") || file.getName().endsWith(".sha1-in-progress")) {
file.delete();
System.out.println(file.getName());
}
}
}
}