百分之百亲自测试通过:
D:\MyEclipse 8.5\configuration\org.eclipse.equinox.simpleconfigurator\bundles.info
新增一段信息,这段信息需要一个java类给你获取;
意思就是告诉myeclipse增加了那些插件依赖的jar;
import java.io.File;
import java.util.ArrayList;
import java.util.List;
/**
* jbpm4插件的安装类
* by 2012-11-09*/
/**
* Myeclipse安装svn插件、maven插件
* by 2012-11-7*/
/**
* Myeclipse安装freemarker插件
* by 2013-05-30*/
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 = "D://MyEclipse 8.5//plugin//jbpm-gdp";
String plugin ="D://MyEclipse 8.5//plugin//freemarker";
new CreatePluginsConfig().print(plugin);
}
}
另附上,myeclipse的注册码获取方式:
import java.io.*;
public class MyeclipseGen {
private static final String LL = "Decompiling this copyrighted software is a violation of both your license agreement and the Digital Millenium Copyright Act of 1998 (http://www.loc.gov/copyright/legislation/dmca.pdf). Under section 1204 of the DMCA, penalties range up to a $500,000 fine or up to five years imprisonment for a first offense. Think about it; pay for a license, avoid prosecution, and feel better about yourself.";
public String getSerial(String userId, String licenseNum) {
java.util.Calendar cal = java.util.Calendar.getInstance();
cal.add(1, 3);
cal.add(6, -1);
java.text.NumberFormat nf = new java.text.DecimalFormat("000");
licenseNum = nf.format(Integer.valueOf(licenseNum));
String verTime = new StringBuilder("-").append(new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime())).append("0").toString();
String type = "YE3MP-";
String need = new StringBuilder(userId.substring(0, 1)).append(type).append("300").append(licenseNum).append(verTime).toString();
String dx = new StringBuilder(need).append(LL).append(userId).toString();
int suf = this.decode(dx);
String code = new StringBuilder(need).append(String.valueOf(suf)).toString();
return this.change(code);
}
private int decode(String s) {
int i;
char[] ac;
int j;
int k;
i = 0;
ac = s.toCharArray();
j = 0;
k = ac.length;
while (j < k) {
i = (31 * i) + ac[j];
j++;
}
return Math.abs(i);
}
private String change(String s) {
byte[] abyte0;
char[] ac;
int i;
int k;
int j;
abyte0 = s.getBytes();
ac = new char[s.length()];
i = 0;
k = abyte0.length;
while (i < k) {
j = abyte0[i];
if ((j >= 48) && (j <= 57)) {
j = (((j - 48) + 5) % 10) + 48;
} else if ((j >= 65) && (j <= 90)) {
j = (((j - 65) + 13) % 26) + 65;
} else if ((j >= 97) && (j <= 122)) {
j = (((j - 97) + 13) % 26) + 97;
}
ac[i] = (char) j;
i++;
}
return String.valueOf(ac);
}
public MyeclipseGen() {
super();
}
public static void main(String[] args) {
try {
System.out.println("please input register name:");
BufferedReader reader = new BufferedReader(new InputStreamReader(System.in));
String userId = null;
userId = reader.readLine();
MyeclipseGen myeclipsegen = new MyeclipseGen();
String res = myeclipsegen.getSerial(userId, "20"); // 无限制版将20改成0
System.out.println("Serial:" + res);
reader.readLine();
} catch (IOException ex) {
}
}
}