首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > JAVA > Eclipse开发 >

剔除Eclipse升级后的旧版本插件

2012-08-01 
删除Eclipse升级后的旧版本插件注2:不要升级你的Eclipse indigo到SR1或SR2,部署项目N多莫名其妙的问题!注1

删除Eclipse升级后的旧版本插件

注2:不要升级你的Eclipse indigo到SR1或SR2,部署项目N多莫名其妙的问题

注1:经一下代码清理后的Eclipse可能会有诸多问题,请慎用!

Eclipse升级后不会自动删除旧文件,导致占用很多磁盘资源,网上找段代码,贴过来。我用64位的Eclipse会有问题,清理后svn无法加载本地类库,此处屏蔽对svn的清理

import java.io.File;import java.util.ArrayList;import java.util.Collections;import java.util.List;import java.util.regex.Matcher;import java.util.regex.Pattern;public class EclipseClean {public static void rmOld(String dir) {try {File root = new File(dir);if (!root.exists() || !root.isDirectory())throw new Exception(dir + " is not Directory");List<String> childs = new ArrayList<String>();for (String child : root.list()) {childs.add(child);}Collections.sort(childs);String preName = "";File preFile = null;String name = "";Pattern p = Pattern.compile("([\\w\\._]*)_\\d.*");Matcher m;for (int i = 0; i < childs.size(); i++) {m = p.matcher(childs.get(i));if (m.find()) {name = m.group(1);if (name.equals(preName)) {String fileName = preFile.getName();if(!fileName.contains("tigris")){System.out.println("delete:" + dir + "\" + fileName);rm(new File(dir + "\" + fileName));}}preFile = new File(childs.get(i));preName = name;}}} catch (Exception e) {e.printStackTrace();}}public static void rm(File dir) {if (dir.isDirectory())for (File file : dir.listFiles()) {if (file.isFile())file.delete();else if (file.isDirectory())rm(file);}dir.delete();}public static void main(String[] args) {rmOld("C:\\Program Files\\eclipse\\plugins");rmOld("C:\\Program Files\\eclipse\\features");}}

热点排行