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