解决myeclipse过期问题
一般myeclise使用期限为30天,超过之后,会频繁的提醒你,购买软件,很讨厌,有个这个小工具,,以后再也不怕啦!!!
使用方法:
1:将这个类导入到myeclipse包中
2:运行main方法,提示输入注册用户名:随便输入,然后回车
生成序列号,
3:然后将用户名和序列号填入菜单栏myeclipse——subscription information(订购信息),ok了
工具代码如下:
1 package day01; 2 import java.io.BufferedReader; 3 import java.io.IOException; 4 import java.io.InputStreamReader; 5 6 public class MyEclipseGen { 7 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."; 8 9 public String getSerial(String userId, String licenseNum) { 10 java.util.Calendar cal = java.util.Calendar.getInstance(); 11 cal.add(1, 3); 12 cal.add(6, -1); 13 java.text.NumberFormat nf = new java.text.DecimalFormat("000"); 14 licenseNum = nf.format(Integer.valueOf(licenseNum)); 15 String verTime = new StringBuilder("-").append( 16 new java.text.SimpleDateFormat("yyMMdd").format(cal.getTime())) 17 .append("0").toString(); 18 String type = "YE3MP-"; 19 String need = new StringBuilder(userId.substring(0, 1)).append(type) 20 .append("300").append(licenseNum).append(verTime).toString(); 21 String dx = new StringBuilder(need).append(LL).append(userId) 22 .toString(); 23 int suf = this.decode(dx); 24 String code = new StringBuilder(need).append(String.valueOf(suf)) 25 .toString(); 26 return this.change(code); 27 } 28 29 private int decode(String s) { 30 int i; 31 char[] ac; 32 int j; 33 int k; 34 i = 0; 35 ac = s.toCharArray(); 36 j = 0; 37 k = ac.length; 38 while (j < k) { 39 i = (31 * i) + ac[j]; 40 j++; 41 } 42 return Math.abs(i); 43 } 44 45 private String change(String s) { 46 byte[] abyte0; 47 char[] ac; 48 int i; 49 int k; 50 int j; 51 abyte0 = s.getBytes(); 52 ac = new char[s.length()]; 53 i = 0; 54 k = abyte0.length; 55 while (i < k) { 56 j = abyte0[i]; 57 if ((j >= 48) && (j <= 57)) { 58 j = (((j - 48) + 5) % 10) + 48; 59 } else if ((j >= 65) && (j <= 90)) { 60 j = (((j - 65) + 13) % 26) + 65; 61 } else if ((j >= 97) && (j <= 122)) { 62 j = (((j - 97) + 13) % 26) + 97; 63 } 64 ac[i] = (char) j; 65 i++; 66 } 67 return String.valueOf(ac); 68 } 69 70 public MyEclipseGen() { 71 super(); 72 } 73 74 public static void main(String[] args) { 75 try { 76 System.out.println("please input register name:"); 77 BufferedReader reader = new BufferedReader(new InputStreamReader( 78 System.in)); 79 String userId = null; 80 userId = reader.readLine(); 81 MyEclipseGen myeclipsegen = new MyEclipseGen(); 82 String res = myeclipsegen.getSerial(userId, "5"); 83 System.out.println("Serial:" + res); 84 reader.readLine(); 85 } catch (IOException ex) { 86 } 87 } 88 89 }