首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > PowerDesigner >

Maven库中.lastUpdated文件自动清除工具

2012-10-07 
【原创】Maven库中.lastUpdated文件自动清除工具最近开发noCloud过程中,在更新maven库时,如果网络问不定或者

【原创】Maven库中.lastUpdated文件自动清除工具

最近开发noCloud过程中,在更新maven库时,如果网络问不定或者是一些自己手动安装到本地maven库的jar包,在中心库找不到对应的jar,会生成一些.lastUpdated文件,会导致m2e工具无法找到依赖的jar包,从而提示编译错误。

对于该问题,我也没有找到很好的解决方案,只能手动删除一下lastUpdated文件。文件多时十分繁琐。网上看到别人的解决方案也有利用命令行命令,匹配文件扩展名批量删除的。命令行不会,于是就写了几行代码用于删除.lastUpdated文件。

如有其他直接的解决方案,望不吝赐教,写代码实属无奈之举。

?

public class DelLastUpdated {private static PropertyHelper propHelper = new PropertyHelper("config");private static final String KEY_MAVEN_REPO = "maven.repo";private static final String MAVEN_REPO_PATH = propHelper.getValue(KEY_MAVEN_REPO);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){File[] childDir = dir.listFiles((FilenameFilter) FileFilterUtils.directoryFileFilter());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.");}}}}}

?配置文件:config.properties

maven.repo=D:\\.m2\\repository

?源码下载地址:

?

 svnhttps://svn.code.sf.net/p/maventools/code/trunk/maven-tools

?工程里还包括一个批量安装jar包到本地maven库的工具,以前发过,后来做了一些改进和修正。

?

热点排行