Eclipse升级后的旧版本插件
场景:剔除Eclipse升级后的旧版本插件
删除Eclipse升级后的旧版本插件
删除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"); } }