2012-06-25 47 views
0

這是在編譯下Lubuntu 12.04 32位+ jdk1.6.0_33 +的IntelliJ IDEA 11.1.2我的課,我發現了輸出:找不到符號的方法initCause

找不到符號的方法initCause(java中。 lang.ClassNotFoundException)

該項目的語言級別是'5枚舉詞'。

screenshot of the error

能否請您給我解釋一下這裏,以及如何解決它的問題?

P.S.這是一個太陽jdk

回答

0

我必須道歉 - 問題不是特定於linux。

這是因爲JavaSE中和的JavaME之間的差別:

兩個,SE和ME有類java.lang.Throwable

ME實現沒有initCause()方法 - 這是代碼沒有編譯的真正原因。

看來我已經將這個代碼從SE項目複製/粘貼到ME而沒有檢查。

1

在你的問題沒有足夠的細節,但從我的理解你有一個類的方法initCause()接受一個對象,該對象不在你的類路徑,所以你需要做,找到包含這個類的jar/project,並將它添加到你的類路徑中。

如果您發佈代碼示例(失敗的代碼示例)以及如何執行它(使用IDE或命令行),這將會很有幫助。

+0

我不明顯地調用這樣的方法(initCause)。 代碼在截圖中提供 - 這是一個雙重檢查鎖定單例。 問題出現在第11行:'synchronized(Singleton.class){' – ilja

+0

我也使用SUN WTK 2.5.2。這篇文章是否與我的問題有關? http://mail-archives.apache.org/mod_mbox/db-derby-dev/200707.mbox/%[email protected]%3E – ilja

+0

這是什麼:「項目的語言級別是'5枚舉詞'。「? – Tomer