Bhakta - 2014-10-24

Hello Flemming,

I have separated roboplayer part on an applet. It works fine in Eclipse. My next step is to port it on the browser. Hence I should start the robocode engine and all other modules from browser. I have kept the html file outside "libs" folder of distribution package. And I'm using the below code to start robocode.

public void init() {

    HiddenAccess.robocodeMain(null);
}

I have signed all the jars individually. But now I'm getting the below exception

at java.lang.Thread.run(Unknown Source)

Caused by: java.lang.ClassNotFoundException: robocode.control.events.IBattleListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more

Exception in thread "thread applet-robocode.Robocode.class-1" java.lang.NoClassDefFoundError: robocode/control/events/IBattleListener
at java.lang.Class.getDeclaredMethods0(Native Method)
at java.lang.Class.privateGetDeclaredMethods(Unknown Source)
at java.lang.Class.getDeclaredMethod(Unknown Source)
at net.sf.robocode.security.HiddenAccess.init(HiddenAccess.java:88)
at net.sf.robocode.security.HiddenAccess.robocodeMain(HiddenAccess.java:280)
at robocode.Robocode.init(Robocode.java:31)
at sun.plugin2.applet.Plugin2Manager$AppletExecutionRunnable.run(Unknown Source)
at java.lang.Thread.run(Unknown Source)
Caused by: java.lang.ClassNotFoundException: robocode.control.events.IBattleListener
at java.net.URLClassLoader$1.run(Unknown Source)
at java.security.AccessController.doPrivileged(Native Method)
at java.net.URLClassLoader.findClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
at java.lang.ClassLoader.loadClass(Unknown Source)
... 8 more

I guess this is related to class loading and the way I'm invoking "HiddenAccess.robocodeMain". Could you give me some idea How can I resolve this issue? In case you want I can send you the code changes I have made.