1. 程式人生 > >清理Maven倉庫中的垃圾檔案

清理Maven倉庫中的垃圾檔案

在使用maven的過程中,由於我們的操作失誤,導致本地maven倉庫可能會建立空資料夾,或者拉取到錯誤的檔案,但是手動清理這些檔案又過於麻煩,於是寫了個工具來清理,程式碼如下:

package util;
import java.io.File;

/**
 * @author 畫師十一
 * 清除maven倉庫中錯誤檔案或空資料夾
 */
public class CleanMavenRepository {

    /**
     * root: 倉庫根目錄,此處為本地maven倉庫的絕對路徑
     */
    static String root = "E:\\Maven Repository\\repository"
; public static void main(String[] args) { File file = new File(root); File[] files = file.listFiles(); if (files != null && files.length > 0) { for (File f : files) { clearRepository(f); } } } public static
boolean clearRepository(File file) { boolean isHaveJar = false; File[] files = file.listFiles(); if (files != null && files.length > 0) { for (File aFile : files) { // 判斷是否為jar檔案 if (aFile.getName().endsWith(".jar")) { isHaveJar =
true; } // 判斷是否為資料夾 if (aFile.isDirectory()) { // 是資料夾則判斷其內部是否包含jar檔案 boolean isNextHaveJar = clearRepository(aFile); if (isNextHaveJar) { isHaveJar = true; } } } } if (!isHaveJar) { System.out.println("Delete The File: " + file.getName()); delete(file); } return isHaveJar; } /** * 刪除檔案或資料夾 * @param file 要刪除的檔案或資料夾 */ public static void delete(File file) { File[] files = file.listFiles(); if (files != null && files.length > 0) { for (File aFile : files) { if (aFile.isDirectory()) { delete(aFile); } aFile.delete(); } } else { file.delete(); } } }