最近开始投入精力学习Java,网上download一个开发工具Myeclipse7.5,甚是强大。只是该软件为收费软件。在java的共享世界让人闹心。时不时弹出个注册框,惹人烦躁。

一直想怎么才能让Myeclipse7.5不再弹出注册框。在谷歌帮助下找到如下一段代码

 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");

            System.out.println("Serial:" + res);

            reader.readLine();

        } catch (IOException ex) {

        }

    }

}

 

在Myeclipse7.5中新建一个Java Project,取'任意’名

然后在这个‘任意”项目下建立一个Java Class名字为‘MyEclipseGen’,将上段代码粘贴进去。

完成后运行'MyEclipseGen'.

在控制台中会询问你login username

输入任意用户名回车后,得到一串字符。


进入MyEclipse,MyEclipse-->Subscription Information,然后输入Subscripter和Subscription

Code即可

可以查看注册信息Subscription Details

关掉MyEclipse7.5自动更新(网上百度加自己整理)

通用的做法

(1)关掉maven自动更新:

window-preferences-MyEclipse Enterprise Workbench-Maven4MyEclipse-Maven, 
关闭所有Download和Update开头的选项,共四项(去掉前面的勾)

(2)关闭更新调度:window –> preferences –> General –> Startup and Shutdown –> Automatic Updates Scheduler(去掉前面的勾)

(3)window –> preferences –>MyEclipse Enterprise Workbench->Myeclipse Dashboard,关闭Show……on start

关闭一些不需要用的插件,可以让你的MyEclipse启动提速。方法如下:

window –> preferences –> General –> Startup and Shutdown .

在右侧的列表中选择你不需要的插件,去掉前面的钩,点击Apply,然后OK即可。

MyEclipse7.5关闭在打开就不会在更新了