ClassNotFoundException when using JRockit

I'm using JRockit as the JVM on the Java side. When I attempt to access a class literal on a proxy class (i.e., proxyClass.JavaClass) or to use java.lang.Class.forName("proxyClass"), I get a java.lang.ClassNotFoundException. I know that this class is in the classpath.

This is a known issue in JRockit, due to its classloader architecture. The workaround is to not use the .JavaClass class literal or the single-parameter Class.forName() method. Instead, use

java.lang.Class.forName("proxyClass", false,
   java.lang.Thread.currentThread().getContextClassLoader());

To use this workaround, you will need to create proxies for java.lang.Thread and java.lang.ClassLoader.

The above should also work in other JVMs.

JNBridge is working to correct this problem in future versions.