2017-06-30 42 views
-1

我在同一個包中有兩個類X和Y.
在X類中有import org1.A
在Y類中,有import org2.AA.somemethod()
在運行期間,當調用A.somemethod()時,我得到NoClassDefFoundError。這可能是什麼原因?
我早些時候認爲,也許不是使用 org2,JVM試圖使用class Aorg1,但我不完全確定爲什麼以及如何發生這種情況。運行時有沒有使用import語句?如何在運行時有用的導入語句

+5

「在運行時是否有任何使用import語句?」不,它們純粹用於代碼中,並且將由編譯器擴展爲完全限定的名稱。 –

+0

一個課程路徑問題可能是' –

+0

@ΦXocę웃Pepeúpaツ「也許」 - >絕對。 –

回答

1

檢查org1.A和org2.A兩個分類器是否添加到類路徑中,在運行時編譯器會嘗試引用導入到src文件中的類。

檢查org1.A和org2.A都在目標目錄中編譯並生成.e文件。

如需更確切的答案,最好是您的代碼片段。

希望這會有所幫助,upvote如果有幫助。