当前位置: 代码迷 >> CVS/SVN >> MyEclipse10 中增多svn插件
  详细解决方案

MyEclipse10 中增多svn插件

热度:3306   发布时间:2013-02-26 00:00:00.0
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即可。

?

?

或者:

MyEclipse10 直接在安装目录下的dropins文件夹下新建一个svn文件夹把features和plugins目录放到dropins文件夹下就OK了
以前安装Eclipse插件无非两种方式, 直接copy插件到features/plugins目录或者在links目录下创建链接文件. 刚刚发布的Eclipse 3.4又推出另一种新的安装途径, 更加灵活。Eclipse 3.4下有个dropins目录, 只要把插件放到该目录下就可以加载, 有几种格式可以选择。

1. 最简单的,直接将jar包放到dropins目录:

??? eclipse/
?????????? dropins/
??????????????? com.essiembre.eclipse.i18n.resourcebundle_0.7.7


2. 传统格式,统一放到一个eclipse目录下:
????? eclipse/
?????????? dropins/
??????????????? eclipse/
???????????????????? features/
???????????????????? plugins/


3. 按照插件名称区分:
??? eclipse/
????????? dropins/
?????????????? resourcebundleeditor/
??????????????????? features/
??????????????????? plugins/??????????????
??????????????? m2eclipse/
??????????????????? features/
??????????????????? plugins/

4. 类似links方式添加链接:

??? eclipse/
????????? dropins/
?????????????? xfire.link


如果只安装一个Eclipse的话建议采用第三种,否则采用第四种。
以前安装Eclipse插件无非两种方式, 直接copy插件到features/plugins目录或者在links目录下创建链接文件. 刚刚发布的Eclipse 3.4又推出另一种新的安装途径, 更加灵活。Eclipse 3.4下有个dropins目录, 只要把插件放到该目录下就可以加载, 有几种格式可以选择。

1. 最简单的,直接将jar包放到dropins目录:

??? eclipse/
?????????? dropins/
??????????????? com.essiembre.eclipse.i18n.resourcebundle_0.7.7


2. 传统格式,统一放到一个eclipse目录下:
????? eclipse/
?????????? dropins/
??????????????? eclipse/
???????????????????? features/
???????????????????? plugins/


3. 按照插件名称区分:
??? eclipse/
????????? dropins/
?????????????? resourcebundleeditor/
??????????????????? features/
??????????????????? plugins/??????????????
??????????????? m2eclipse/
??????????????????? features/
??????????????????? plugins/

4. 类似links方式添加链接:

??? eclipse/
????????? dropins/
?????????????? xfire.link


如果只安装一个Eclipse的话建议采用第三种,否则采用第四种。
如果发现安装了没有效果,可以删除eclipse主目录下MyEclipse 10\configuration\org.eclipse.update? 再执行eclipse -clean? 试试。
  相关解决方案