Maven本地仓库越用越大,删除无效版本文件

Maven本地仓库越用越大,删除无效版本文件

从各个maven库下载下的jar越来越多,同时由于网络或其他问题导致jar没下载下来,徒留一堆无用非jar文件。另外还有许多自己本地打包的无效版本等等。

现使用如下代码直接将不包含jar包的版本下文件统统删掉。


package delete;

import java.io.File;

/**
 * @author xfcyzq
 * @version 1.0
 */
public class DeleteUselessRepository {

	private static String MAVEN_PATH = "E:\\Workspaces\\Maven\\.m2\\repository";

	/**
	 * 判断是否存在jar
	 * 
	 * @author xfcyzq
	 * @version 1.0
	 * @param file
	 * @return
	 */
	private static boolean judge(File file) {
		boolean isHaveJar = false;
		File[] files = file.listFiles();
		if (files != null && files.length > 0) {
			for (File _file : files) {
				if (_file.getName().endsWith(".jar")) {
					isHaveJar = true;
				}
				if (_file.isDirectory()) {
					boolean isNextHaveJar = judge(_file);
					if (isNextHaveJar) {
						isHaveJar = true;
					}
				}
			}
		}
		if (!isHaveJar) {
			delete(file);
		}
		return isHaveJar;
	}

	/**
	 * 删除操作
	 * 
	 * @author xfcyzq
	 * @version 1.0
	 * @param file
	 */
	public static void delete(File file) {
		File[] files = file.listFiles();
		if (files != null && files.length > 0) {
			for (File f : files) {
				if (f.isDirectory()) {
					delete(f);
				}
				f.delete();
				System.out.println("已删除:" + f.getAbsolutePath());
			}
		} else {
			file.delete();
			System.out.println("已删除:" + file.getAbsolutePath());
		}
	}
	
	public static void main(String[] args) {
		File mavenRoot = new File(MAVEN_PATH);
		if (mavenRoot.exists()) {
			File[] files = mavenRoot.listFiles();
			if (files != null && files.length > 0) {
				for (File file : files) {
					judge(file);
				}
			}
		}
	}
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值