lastUpdate文件说明
每次在更新maven项目的时候,每一个jar包路径下的_remote.repositories文件都会同setting.xml中设置的仓库地址id进行判断,如果没有匹配,会自动更新该jar包的相关文件,如果未联网则会出现jar无法发现的错误,导致即使jar存在,maven项目也无法使用该jar的情况。如果使用公司的内网仓库,_remote.repositories文件变为_maven.repositories。Maven在下载仓库中找不到相应资源时,会生成一个.lastUpdated为后缀的文件。如果这个.lastUpdated文件存在,那么即使换一个有资源的仓库后,Maven依然不会去下载新资源。
使用Java程序进行删除
import java.io.File;
public class DeleteEndWithLastUpdate {
//删除以lastupdat后缀的maven更新文件
public static void main(String[] args) {
//maven本地仓库地址
String path = "D:\\maven\\maven Repository\\repository";
File repository = new File(path);
if (!repository.exists()) {
System.exit(-1);
}
for (File group : repository.listFiles()) {
if (group.isDirectory()) {
for (File artifact : group.listFiles()) {
dfs(artifact);
}
}
}
}
static void dfs(File file) {
if (!file.exists()) {
return;
}
if (file.isDirectory()) {
for (File f : file.listFiles()) {
dfs(f);
}
} else {
if (file.getName().endsWith(".lastUpdated")) {
System.out.println(file.getName());
file.delete();
return;
}
}
}
}
其他删除方式可以参考:
https://www.cnblogs.com/DDgougou/p/12636770.html