2013-05-30 72 views
1

所以我沒有把一個類綁定到一個對象(在我的guice模塊中),代碼:bind(MyClass.class).toInstance(myObject)。 Guice抽出一個ClassNotFoundException,參照MyClass的其中一個字段。由於我在應用程序服務器上運行,我在想,也許我可以更改線程上下文類加載器?Classloader(和Guice)怪異

所以我嘗試使用在myObject.getClass().getClassLoader()中找到的類加載器,我仍然得到ClassNotFoundException。怎麼可能?我甚至試圖在調試中評估這個表達式(相同的結果)。

+1

你可以發佈堆棧跟蹤以及發生問題的代碼/類嗎? –

+0

我會看看我能做些什麼關於代碼片段 - 這是一個繁瑣的過程來提取它。更多挖掘有關對象的問題顯示了很多「LinkageError」以及將對象投射到類上的失敗 - 對自定義的AS「MultiparentClassLoader」進行反射。任何線索呢? –

回答

1

在這種情況下,ClassNotFoundException與實際的類未找到無關。

沒有更多的信息我會說有一個未捕獲的異常被一個MyClass使用的類的靜態初始化塊之一拋出。

檢查並重新檢查靜態初始化器中發生了什麼。

如果您不使用WebSphere,那麼默認情況下,您選擇的AS中的ClassLoaders應該工作得很好。