【オリジナル】Mavenライブラリで.lastUpdatedファイル自動クリアツール


最近noCloudを開発する過程で、mavenライブラリを更新する際に、ネットワークが不定になったり、自分で手動でローカルmavenライブラリにインストールjarパッケージがあったりすると、センターライブラリで対応するjarが見つからず、いくつか生成する.lastUpdatedファイルは、m 2 eツールが依存する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

ソースのダウンロードアドレス:
 
 svn	https://svn.code.sf.net/p/maventools/code/trunk/maven-tools

エンジニアリングにはjarパッケージをローカルmavenライブラリに一括インストールするツールも含まれています.以前に送ったことがありますが、後でいくつかの改善と修正を行いました.