错误:java.lang.IllegalStateException: must call load class on top

错误:java.lang.IllegalStateException: must call load class on top
OS:linux
Web server: resin
错误如下:
java.lang.IllegalStateException: must call load class on top
        at com.caucho.util.DynamicClassLoader.loadClass(DynamicClassLoader.java:431)
        at java.lang.ClassLoader.loadClass(ClassLoader.java:235)
        at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:302)
        at java.lang.Class.forName0(Native Method)
        at java.lang.Class.forName(Class.java:141)

    今天干活碰到这个错误了。在网上搜索下,没有相关的错误和解决方法。我就把我解决的办法放上来了。

    开始碰到错误的时候,现确定错误发生的地方,最后确定到了下面这段代码:
Product product = (Product) Class.forName(handle).getConstructor(types).newInstance(args);

    这段代码具体的意思是要创建一个类的实例。很简单,但却出现了错误。检查程序运行时传递过来的参数,每个参数都没有问题,是按照预想的传递过来的。按说参数传递的对了,理应不会出现问题的。再看看给出来的错误内容,不知道在说什么,什么是“must call load class on top”?

    思索了半天,找不到原因。后来查看了一下class文件的权限,发现class文件的权限是-r--r--r--,索性改成-rwxrwxrwx,再次测试就可以了。


你可能感兴趣的:(错误:java.lang.IllegalStateException: must call load class on top)