簡體   English   中英

使用readObject()接收對象時,出現NoClassDefFoundException

[英]NoClassDefFoundException when receiving object with readObject()

這是我的設置:

我的服務器使用ObjectInputStream等待IPlugin-Objects 傳入的IPlugin-Ob對象屬於未知類,因此,首先,由OIS的classloader傳輸和加載類文件。 然后,客戶端發送IPlugin本身。 IPlugin的強制轉換似乎沒有問題(在OIS中使用我自己的類加載器時)。 但是IPlugin使用jama,現在當我收到對象時得到了NoClassDefFoundException 對我來說,很奇怪的是,服務器的classpath包含Jama庫。 我也嘗試編寫一個虛擬行,因此該庫實際上將被導入(並且不會被編譯器忽略)。

有人可以幫我嗎? 這真的讓我很煩...

好的,我知道了:

問題是,除了當前的類加載器之外,我個人的URIClassLoader獲得了所有可能的URI。 現在,構造函數如下所示:

URLClassLoader loader = new URLClassLoader(new URL[]{pluginFolder.toURI().toURL()},
this.getClass().getClassLoader());

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM