2013-11-04 136 views
2

此錯誤:java.lang.ClassNotFoundException : javax.xml.soap.SoapException是什麼原因導致拋出java.lang.ClassNotFoundException運行代碼

我可以看到javax.xml.soap.SoapException是在classpath所以這可能是造成這個錯誤?

在更一般的術語中,如果編譯器不能捕獲這個錯誤,那麼java.lang.ClassNotFoundException如何在運行代碼中被拋出?我發生這種情況的唯一情況是,如果使用庫構建了一個jar,並且使用該jar時,jar依賴的庫不在類路徑中。

+1

它真的在尋找javax.xml.soap.soapexception嗎?因爲這個類不存在。然而,javax.xml.soap.SoapException確實存在。 – rmlan

+0

這意味着沒有找到該類。可能是該類存在於執行環境中的某個位置,但不是在錯誤發生時正在訪問的類路徑中。 –

+0

如果應用程序的組件嘗試使用自定義類加載器來加載類,並且在該加載器的路徑中找不到類,則即使該類位於主類路徑中,也可能會出現此錯誤。 –

回答

1

用來編譯應用程序的類路徑,是不一樣的,你用它來運行應用程序的類路徑。當應用程序使用java運行時,您仍然需要使用-cp加載所有支持的jar文件

1

一種可能性:

Class.forName("this.will.throw.ClassNotFoundException") 
相關問題