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)
今天干活碰到這個錯誤了。在網(wǎng)上搜索下,沒有相關的錯誤和解決方法。我就把我解決的辦法放上來了。
開始碰到錯誤的時候,現(xiàn)確定錯誤發(fā)生的地方,最后確定到了下面這段代碼:
Product product = (Product) Class.forName(handle).getConstructor(types).newInstance(args);
這段代碼具體的意思是要創(chuàng)建一個類的實例。很簡單,但卻出現(xiàn)了錯誤。檢查程序運行時傳遞過來的參數(shù),每個參數(shù)都沒有問題,是按照預想的傳遞過來的。按說參數(shù)傳遞的對了,理應不會出現(xiàn)問題的。再看看給出來的錯誤內(nèi)容,不知道在說什么,什么是“must call load class on top”?
思索了半天,找不到原因。后來查看了一下class文件的權限,發(fā)現(xiàn)class文件的權限是-r--r--r--,索性改成-rwxrwxrwx,再次測試就可以了。
posted on 2007-06-25 14:52
卜清楚 閱讀(1772)
評論(1) 編輯 收藏 所屬分類:
java.j2ee