MyEclipse安装插件代码,myeclipse安装插件,我之前在MyEclips
分享于 点击 8525 次 点评:96
MyEclipse安装插件代码,myeclipse安装插件,我之前在MyEclips
我之前在MyEclipse里面安装了个插件遇到了很郁闷的问题,无论是MyEclipse的导航安装,还是通过links安装都无法安装成功。最后通过搜索在网上找了个手动安装的代码,经过自己的修改,测试后可以安装成功。现将代码贴出来共享,希望能够帮到大家。
import java.io.File;import java.io.FileNotFoundException;import java.io.FileOutputStream;import java.io.IOException;import java.io.PrintWriter;import java.util.ArrayList;import java.util.List;/** * MyEclipse 8.x安装插件代码生成器 * * @author Administrator * */public class CreatePluginsConfig { private String path; private StringBuffer result; // 插件名称:区分大小写 private static final String PLUGIN_NAME = "svnclient"; // 插件路径 private static final String PLUGIN_PATH = "D:/tools/Genuitec/myPlugins/" + PLUGIN_NAME; // 配置路径 private static final String BUNDLES_PATH = "D:/tools/Genuitec/MyEclipse 8.5/configuration/org.eclipse.equinox.simpleconfigurator/"; // 建立插件路径 private static final String LINK_PATH = "D:/tools/Genuitec/Common/links"; public CreatePluginsConfig(String path) { this.path = path; } public void build() { List list = getFileList(path); if (list == null) { return; } int length = list.size(); result = new StringBuffer(); for (int i = 0; i < length; i++) { String result = ""; String thePath = getFormatPath(getString(list.get(i))); File file = new File(thePath); if (file.isDirectory()) { String fileName = file.getName(); if (fileName.indexOf("_") < 0) { continue; } String[] filenames = fileName.split("_"); String filename1 = filenames[0]; String filename2 = filenames[1]; result = filename1 + "," + filename2 + ",file:/" + path + "\\\\" + fileName + "\\\\,4,false"; System.out.println(result); this.result.append(result + "\\n"); } else if (file.isFile()) { String fileName = file.getName(); if (fileName.indexOf("_") < 0) { continue; } int last = fileName.lastIndexOf("_");// 最后一个下划线的位置 String filename1 = fileName.substring(0, last); String filename2 = fileName.substring(last + 1, fileName .length() - 4); result = filename1 + "," + filename2 + ",file:/" + path + "\\\\" + fileName + ",4,false"; System.out.println(result); this.result.append(result + "\\n"); } } } public List getFileList(String path) { path = getFormatPath(path); path = path + "/"; File filePath = new File(path); if (!filePath.isDirectory()) { return null; } String[] filelist = filePath.list(); List filelistFilter = new ArrayList(); for (int i = 0; i < filelist.length; i++) { String tempfilename = getFormatPath(path + filelist[i]); filelistFilter.add(tempfilename); } return filelistFilter; } public String getString(Object object) { if (object == null) { return ""; } return String.valueOf(object); } public String getFormatPath(String path) { path = path.replaceAll("\\\\\\\\", "/"); path = path.replaceAll("//", "/"); return path; } public void appendBundles() throws FileNotFoundException { PrintWriter pw = new PrintWriter(new FileOutputStream(new File( BUNDLES_PATH + "bundles.info"), true)); pw.println(); pw.println(); pw.write("#" + PLUGIN_NAME + " plug-in config begin\\n"); pw.write(this.result.toString()); pw.write("#" + PLUGIN_NAME + " plug-in config end\\n"); pw.close(); // 备份当前插件配置信息 pw = new PrintWriter(new FileOutputStream(new File(BUNDLES_PATH + "plug-in/" + PLUGIN_NAME + ".info"))); pw.println(); pw.println(); pw.write("#" + PLUGIN_NAME + " plug-in config begin\\n"); pw.write(this.result.toString()); pw.write("#" + PLUGIN_NAME + " plug-in config end\\n"); pw.close(); } public void buildLink() throws IOException { File file = new File(LINK_PATH + "/" + PLUGIN_NAME + ".link"); if (!file.exists()) file.createNewFile(); PrintWriter pw = new PrintWriter(new FileOutputStream(file)); pw.write("path=" + PLUGIN_PATH); pw.close(); } public static void main(String[] args) throws Exception { CreatePluginsConfig cpc = new CreatePluginsConfig(PLUGIN_PATH + "/plugins"); cpc.build(); cpc.appendBundles(); cpc.buildLink(); }}//该片段来自于http://byrx.net
用户点评