MyEclipse 10 中增加svn插件

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

随着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才会去加载。

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

  1. import java.io.File;         
  2. import java.util.ArrayList;        
  3. import java.util.List;         
  4. /**      
  5.  * MyEclipse10 插件配置代码生成器   
  6.  */        
  7. public class PluginConfigCreator         
  8. {         
  9.     public PluginConfigCreator()         
  10.     {         
  11.     }         
  12.     public void print(String path)         
  13.     {         
  14.         List<String> list = getFileList(path);         
  15.         if (list == null)         
  16.         {         
  17.             return;         
  18.         }         
  19.         int length = list.size();         
  20.         for (int i = 0; i < length; i++)         
  21.         {         
  22.             String result = "";         
  23.             String thePath = getFormatPath(getString(list.get(i)));         
  24.             File file = new File(thePath);         
  25.             if (file.isDirectory())         
  26.             {         
  27.                 String fileName = file.getName();         
  28.                 if (fileName.indexOf("_") < 0)         
  29.                 {         
  30.                     print(thePath);         
  31.                     continue;         
  32.                 }         
  33.                 String[] filenames = fileName.split("_");         
  34.                 String filename1 = filenames[0];         
  35.                 String filename2 = filenames[1];         
  36.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"        
  37.                         + fileName + "\\,4,false";         
  38.                 System.out.println(result);         
  39.             } else if (file.isFile())         
  40.             {         
  41.                 String fileName = file.getName();         
  42.                 if (fileName.indexOf("_") < 0)         
  43.                 {         
  44.                     continue;         
  45.                 }       
  46.                 int last = fileName.lastIndexOf("_");// 最后一个下划线的位置         
  47.                 String filename1 = fileName.substring(0, last);         
  48.                 String filename2 = fileName.substring(last + 1, fileName         
  49.                         .length() - 4);         
  50.                 result = filename1 + "," + filename2 + ",file:/" + path + "/"        
  51.                         + fileName + ",4,false";         
  52.                 System.out.println(result);         
  53.             }         
  54.         }         
  55.     }         
  56.     public List<String> getFileList(String path)         
  57.     {         
  58.         path = getFormatPath(path);         
  59.         path = path + "/";         
  60.         File filePath = new File(path);         
  61.         if (!filePath.isDirectory())         
  62.         {         
  63.             return null;         
  64.         }         
  65.         String[] filelist = filePath.list();         
  66.         List<String> filelistFilter = new ArrayList<String>();         
  67.         for (int i = 0; i < filelist.length; i++)         
  68.         {         
  69.             String tempfilename = getFormatPath(path + filelist[i]);         
  70.             filelistFilter.add(tempfilename);         
  71.         }         
  72.         return filelistFilter;         
  73.     }         
  74.     public String getString(Object object)         
  75.     {         
  76.         if (object == null)         
  77.         {         
  78.             return "";         
  79.         }         
  80.         return String.valueOf(object);         
  81.     }         
  82.     public String getFormatPath(String path)         
  83.     {         
  84.         path = path.replaceAll("\\\\", "/");         
  85.         path = path.replaceAll("//""/");         
  86.         return path;         
  87.     }         
  88.     public static void main(String[] args)         
  89.     {         
  90.         /*你的SVN的features 和 plugins复制后放的目录*/        
  91.             String plugin = "F:\\MyEclipse10.0\\myEclipsePlugin\\svn";         
  92.         new PluginConfigCreator().print(plugin);         
  93.     }         
  94. }   

最后就是在bundles.info文件后增加上面代码生成的内容,然后重启下Myeclipse即可。

原文链接:http://www.cnblogs.com/bluesky4485/archive/2012/04/23/2467177.html

【编辑推荐】

  1. Java千万级别数据生成文件思路和优化
  2. Java图形界面开发:高级Swing容器(一)
  3. Java图形用户界面:高级组件综合例子
  4. Java程序员应该遵循的10条戒律
  5. Java核心类库:内部类那点事儿
责任编辑:林师授 来源: bluesky4485的博客
相关推荐

2010-05-20 12:31:37

MyEclipse6.

2010-05-20 18:38:53

Myeclipse7.

2009-07-10 10:38:00

SVN插件Myeclipse7.

2010-05-20 11:37:09

安装SVN插件

2010-05-26 16:52:55

SVN插件

2010-05-20 11:03:09

Myeclipse6.

2009-06-18 14:28:24

Eclipse中添加M

2010-05-20 08:49:52

MyEclipse8.

2010-05-20 09:29:08

安装SVN插件

2010-05-20 11:12:13

SVN插件安装

2010-05-25 17:35:12

SVN代理

2010-05-20 17:34:13

MYECLIPSE7.

2010-05-24 16:36:14

2010-05-31 13:00:49

MyEclipse配置

2010-05-28 19:15:53

2010-05-24 16:58:44

SVN安装

2010-05-28 19:35:33

Myeclipse下S

2009-09-23 13:23:12

Hibernate M

2009-07-10 16:10:38

MyEclipse 7

2010-05-20 10:04:05

集成MyEclipse
点赞
收藏

51CTO技术栈公众号