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

来源:互联网 发布:安卓条形码扫描源码 编辑:程序博客网 时间:2024/06/05 14:55

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);}}}}}