我在使用Bouncy Castle的RSA加密时遇到了一个奇怪的问题。
我的环境是Eclipse3.2+WTK2.2+JDK6。
运行MidLet时,报出以下的错误:
java.lang.NoClassDefFoundError: java/math/BigInteger: Cannot create class in system package
at com.atnc.crypto.util.RSAToolsTest.loadKey(+18)
at com.atnc.webclient.test.RSATest.commandAction(+76)
at javax.microedition.lcdui.Display$DisplayAccessor.commandAction(+282)
at javax.microedition.lcdui.Display$DisplayManagerImpl.commandAction (+10)
at com.sun.midp.lcdui.DefaultEventHandler.commandEvent(+68)
at com.sun.midp.lcdui.AutomatedEventHandler.commandEvent(+47)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+250)
可是我已经把用到的Bouncy Castle的源代码都放到程序中了,路径也都没错,不知道为什么在Midlet里面找不到,但是同样在j2me环境中,如果我在main方法中调用同样的方法,就可以正常执行。
有谁遇到过同样的错误,请路过的各位帮帮忙!
------解决方案--------------------------------------------------------
Bouncy Castle
我记得有 4 j2me的版本吧
Cannot create class in system
就是说,你不能够把自己的类放到系统的包里面
比如 java.lang java.io java.math等