欢迎访问悦橙教程(wld5.com),关注java教程。悦橙教程  java问答|  每日更新
页面导航 : > > 文章正文

MyEclipse安装插件代码,myeclipse安装插件,我之前在MyEclips

来源: javaer 分享于  点击 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
相关栏目:

用户点评