MyEclipse 10 中增加插件

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

随着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即可。

原文地址:https://www.cnblogs.com/gaven/p/2600701.html