您在使用任何 Java 公用程式專案或靜態 JAR 檔嗎?
如果您在使用靜態 JAR 檔,您將它放在哪裡?
如果您只是在 Web 應用程式使用靜態 JAR 檔,請將它們放在 WEB-INF lib 下;
如果您是想供多個企業應用程式模組(應用程式用戶端、EJB 或 Web 專案)共用,或者只供您的 EJB 應用程式在使用,請將它們放在企業應用程式 (EAR) 中。
您是否將所有的專案公用程式 JAR,都對映到要使用它們的企業應用程式模組呢?
確定您已將 Java 專案新增至企業應用程式部署描述子「模組」頁面的專案公用程式 JAR 表單中。
您是否在執行時期處理 Java 公用程式專案或靜態 JAR 檔所包含的類別時得到 java.lang.NoClassDefFoundError 堆疊追蹤?
請檢查企業應用程式模組的 Java JAR 相依關係,並且確定所有必要的 JAR 檔都已經在本頁確認打勾了(用滑鼠右鍵按一下「專案 > 內容 > Java JAR 相依關係」)。
在開發和測試企業應用程式時,需要顧慮兩種不同的類別路徑。Java 建置路徑是編譯器尋找編譯專用的相依類別時,所用的類別路徑。Java JAR 相依關係(MANIFEST.MF 檔的前端),則是執行時期尋找位於企業應用程式或位於企業應用程式所含之其他企業應用程式模組中的相依類別時所用。
因此,也許因為應用程式在工作區中編譯正常,您便認為它有效,不過最好還是在「Java JAR 相依關係」頁面中新增它們,以確認相同的 JAR 在執行時期是否會顯示出來,以免發生 java.lang.NoClassDefFoundError 錯誤。
請務必先在「Java JAR 相依關係」中選取 JAR 檔,因為它會自動將 JAR 檔新增至您的 Java 建置路徑中。
檢查並查看類別路徑是否有問題
查看工作區,計算那裡有幾個 EAR。
您有幾個企業應用程式?
您如何將企業應用程式模組(J2EE 應用程式用戶端專案、EJB 專案或 Web 專案),對映到您的企業應用程式用戶端專案(EAR 專案)?