清空仓库中lastUpdated文件
清空仓库中lastUpdated文件
木子丰 发表于4年前
清空仓库中lastUpdated文件
  • 发表于 4年前
  • 阅读 309
  • 收藏 1
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 通过Maven远程下载jar时,总出现下载到.jar.lastUpdated后缀的文件,正常的jar包就下载不了

通过Maven远程下载jar时,总出现下载到.jar.lastUpdated后缀的文件,正常的jar包就下载不了,只能将其删除再次下载,循环操作直到将jar文件下载下来.

方法一、命令行执行命令

Windows:

cd %userprofile%\.m2\repository
for /r %i in (*.lastUpdated) do del %i

Linux

find ~/.m2  -name "*.lastUpdated" -exec grep -q "Could not transfer" {} \; -print -exec rm {} \;

方法二、编辑java,完成删除指定目录下指定后缀名的文件

import java.io.File;
import java.io.FilenameFilter;

import org.apache.commons.io.filefilter.FileFilterUtils;
import org.apache.commons.logging.Log;
import org.apache.commons.logging.LogFactory;

/**
 * 清除除maven下载jar包时错误下载的.jar.lastUpdated文件
 * @author Administrator
 *
 */
public class DelLastUpdated {
	//指定要进行清除的根目录
    private static final String MAVEN_REPO_PATH = "D:\\maven-repository\\org\\eclipse\\birt\\runtime";
    //要清除文件的后缀后
    private static final String FILE_SUFFIX = "lastUpdated"; 
    private static final Log _log = LogFactory.getLog(DelLastUpdated.class); 
 
    /** 
     * @param args 
     */ 
    public static void main(String[] args) { 
        File mavenRep = new File(MAVEN_REPO_PATH); 
        if (!mavenRep.exists()) { 
            _log.warn("Maven repos is not exist."); 
            return; 
        } 
        File[] files = mavenRep.listFiles((FilenameFilter) FileFilterUtils.directoryFileFilter()); 
        delFileRecr(files,null); 
        _log.info("Clean lastUpdated files finished."); 
    } 
 
    private static void delFileRecr(File[] dirs, File[] files) { 
        if (dirs != null && dirs.length > 0) { 
            for(File dir: dirs){
            	//列出dir目录下的子目录
                File[] childDir = dir.listFiles((FilenameFilter) FileFilterUtils.directoryFileFilter()); 
                //列出dir目录下后缀为FIlE_SUFFIX的文件
                File[] childFiles = dir.listFiles((FilenameFilter) FileFilterUtils.suffixFileFilter(FILE_SUFFIX)); 
                delFileRecr(childDir,childFiles); 
            } 
        }
        // 删除符合指定后缀的文件
        if(files!=null&&files.length>0){ 
            for(File file: files){ 
                if(file.delete()){ 
                    _log.info("File: ["+file.getName()+"] has been deleted."); 
                } 
            } 
        } 
    }

}

 

 

 

  • 点赞
  • 收藏
  • 分享
粉丝 18
博文 232
码字总数 68511