废话不多说,进入正题。
Link方式主要以引用路径为主,所以需要先准备好你的Spket安装目录。如: D://Install/Spket
进入你的MyEclipse安装目录 X://Genuitec/Common 下面建立一个 links 文件夹,并在其中建立一个 Spket.link 的文件。
.link文件为插件引用文件 , 文件名最好以所引用之插件命名,方便日后维护。
Spket.link文件中设置: path=D://Install//Spket 即指定你的Spket安装目录,注意下路径分隔符。
此外因为配置信息的问题 还需要借助一个java文件生成配置信息
生成的信息追加至 X:/Genuitec/MyEclipse/configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* MyEclipse 7.5 (2009-6-17) 插件代码生成工具
* 生成的代码放入 /configuration/org.eclipse.equinox.simpleconfigurator/bundles.info
* 然后在命令提示符中使用 myeclipse.exe -clean 重启 或者关闭MyEclipse在打开即可使用中文版
*
*/
public class CreatePluginsConfig {
public CreatePluginsConfig() {
}
public void print(String path) {
List 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 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 static void main(String[] args) {
// 插件文件所在目录designer下的目录结构是eclipse/features and plugins的形式
String plugin ="你的Spke安装目录";
new CreatePluginsConfig().print(plugin);
}
}