[英]class not found exception though JAR exists
我正在使用web-inf \\ lib中的一堆JAR文件將Web應用程序部署到weblogic。 當我從servlet的這些jar文件中的類調用許多方法時,一切正常。 但是我也有一個RMI客戶端jar-當我調用其方法之一時-它給了我ClassNotFoundException
:
Caused By: java.lang.ClassNotFoundException: com.xyz.RMIClientImpl
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:393)
at sun.rmi.server.LoaderHandler.loadClass(LoaderHandler.java:185)
at java.rmi.server.RMIClassLoader$2.loadClass(RMIClassLoader.java:637)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:219)
at java.rmi.server.RMIClassLoader.loadClass(RMIClassLoader.java:152)
我不太了解應用程序服務器中的類加載,但是從stacktrace中可以清楚地看到一些rmi類加載器正在嘗試加載類而不是找到它-盡管它在我的web-inf / lib中非常存在
注意1 :如果我嘗試使用Class.forName("com.xyz.RMIClientImpl")
自己加載類,則可以正常工作。
所以與類加載和RMI有關的東西-如果有人可以解釋發生的事情將會很棒。
注意2 :如果我嘗試使用獨立客戶端(而不是Web應用程序)並調用RMI Client,則一切正常,因此問題僅在部署到應用程序服務器(weblogic)時出現
注意3 :我從應用程序的lib文件夾中復制了所有jar,並將其放在weblogic的庫中,然后沒有得到此異常。 是的,我知道這不是解決問題的正確方法,但請確實指出正確的方向:)
注意4 :設置以下內容也無濟於事:
<wls:container-descriptor><wls:prefer-web-inf-classes>true</wls:prefer-web-inf-classes></wls:container-descriptor>
嘗試這個 ! 您需要將jar顯式添加到類路徑。 右鍵單擊項目名稱->項目屬性->庫和類路徑->添加jar /目錄
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.