• MyEclipse10 中增加svn插件


    随着Myeclipse版本号的变大,插件的安装也越来越复杂了,在有了configuration center之后,明明eclipse都能正常使用的update site,在Myeclipse中就是不能使用,真纠结。我试了好几个插件的在线安装,没有一个能成功的,而且巨慢无比,等待很长一段时间之后告诉你,失败。所以安装插件最好还是采用离线安装。

    网上有另类的解决办法,亲自尝试了一些,有些已经都不可用了,特记录一下可用的方式。

    首先:下载svn插件,最新的已经是1.8版本了。svn插件网站:http://subclipse.tigris.org/,插件下载地址:http://subclipse.tigris.org/files/documents/906/49209/site-1.8.8.zip 

    解压svn包,找到其中的两个文件夹features和plugins目录,在Myeclipse目录下面新建一个文件夹,名称随意,可以就叫svn,将解压的两个文件夹放在这个新建的目录中

    找到Myeclipse的安装目录,在安装目录下的configuration\org.eclipse.equinox.simpleconfigurator这个目录中有个

    bundles.info文件,需要在这个文件中增加插件的相关信息Myeclipse才会去加载。

    添加的内容使用下面的类生成:

    import java.io.File;       
    import java.util.ArrayList;       
    import java.util.List;       
    /**    
     * MyEclipse10 插件配置代码生成器 
     */      
    public class PluginConfigCreator       
    {       
        public PluginConfigCreator()       
        {       
        }       
        public void print(String path)       
        {       
            List<String> list = getFileList(path);       
            if (list == null)       
            {       
                return;       
            }       
            int length = list.size();       
            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)       
                    {       
                        print(thePath);       
                        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);       
                } 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);       
                }       
            }       
        }       
        public List<String> getFileList(String path)       
        {       
            path = getFormatPath(path);       
            path = path + "/";       
            File filePath = new File(path);       
            if (!filePath.isDirectory())       
            {       
                return null;       
            }       
            String[] filelist = filePath.list();       
            List<String> filelistFilter = new ArrayList<String>();       
            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 static void main(String[] args)       
        {       
            /*你的SVN的features 和 plugins复制后放的目录*/      
                String plugin = "F:\\MyEclipse10.0\\myEclipsePlugin\\svn";       
            new PluginConfigCreator().print(plugin);       
        }       
    }  
    最后就是在bundles.info文件后增加上面代码生成的内容,然后重启下Myeclipse即可。
    作者:bluesky4485
    本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
  • 相关阅读:
    对象关系【继承】【依赖】【关联】【聚合】【组合】
    对象关系【继承】【依赖】【关联】【聚合】【组合】
    Spring使用p名称空间配置属性
    Spring使用p名称空间配置属性
    spring实例化bean的方式
    MS04011远程缓冲区溢出代码
    注入下载文件的代码到IE进程然后执行下载的文件
    缓冲区溢出漏洞发掘之整数范围限制浅析
    基于ICMP的木马的编写
    凯撒密文的破解编程实现
  • 原文地址:https://www.cnblogs.com/bluesky4485/p/2467177.html
Copyright © 2020-2023  润新知