I found a creepy workaround to avoid this problem due to the AppletLoader from lwjgl_util_applet.jar that override the security context by replacing the default classLoader. So we need to patch it :
1 - Download the class
HERE 2 - Replace this:
classLoader = new URLClassLoader(urls) {
with this:
classLoader = new URLClassLoader(urls, Thread.currentThread().getContextClassLoader()) {
And this:
Thread.currentThread().setContextClassLoader(classLoader);
Class appletClass = classLoader.loadClass(getParameter("al_main"));
with this:
Class appletClass = Thread.currentThread().getContextClassLoader().loadClass(getParameter("al_main"));
3 - Compile and override the .class of the lwjgl_util_applet.jar with the new one.
4 - Remove the signature of all your jars (if exist) and re-sign all with those atributes in the MANIFEST.MF
Manifest-Version: 1.0
Trusted-Library: true
Application-Library-Allowable-Codebase: *
Trusted-Only: false
Application-Name: My app
Permissions: all-permissions
Created-By: 1.6.0_16 (Sun Microsystems Inc.)
Caller-Allowable-Codebase: *
Codebase: *
5 - In the applet tag, put this :
<param name="permissions" value="all-permissions">
<param name="codebase_lookup" value="true">
<param name="classloader_cache" value="false">
<param name="al_version" value="0.1">"
6 - (The creepy part) Put all the jars in the param "al_jars" in the param "archive" (just put a white space in al_jars),
7 - Clean your cache (java & browser) and set your java cache active (like the future users of your app),
8 - Run your applet and keep you fingers crossed.
- This solution works for me : win7 x64, java 1.7_45 32 and 64 bits, Firefox ans Chrome
- On another computer (win7 x64, java 1.7_45 32 bit, Firefox), there is this :
Exception in thread "AWT-EventQueue-2" java.lang.UnsatisfiedLinkError: org.lwjgl.opengl.AWTSurfaceLock.lockAndInitHandle(Ljava/nio/ByteBuffer;Ljava/awt/Canvas;Z)Z- On another computer, the java cache load many times the jars and works good after few minutes (load nearly 500Mb in the cache).
I am waiting for your feedback.
Best regards,
Nicolas.