首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> 更多程式語言 >> 程式設計疑難解答

Java NoClassDefFoundError:單元測試通過但集成環境失敗,屬類路徑問題

     編輯:程式設計疑難解答

現象

java.lang.NoClassDefFoundError: com/sun/pdfview/PDFFile,單獨運行測試類正常,集成到項目中報錯。

原因

  • 類路徑不一致:測試環境(如 Maven test scope)包含依賴 JAR,打包/部署環境(WAR/EAR/Classpath)缺少該 JAR 或版本衝突。
  • 類加載器隔離:應用服務器(Tomcat/WebLogic)多層類加載器,父子加載器可見性差異導致類找不到。
  • JDK 版本不兼容:PDFRenderer-0.9.0.jar 可能不支持 JDK 1.4,需升級 JDK 或換庫。

排查步驟

  1. 檢查部署產物 (WEB-INF/lib) 是否包含該 JAR。
  2. 執行 mvn dependency:tree 確認依賴傳遞無衝突。
  3. 嘗試升級 JDK 至 1.8+,或換用 Apache PDFBox 等維護中的庫。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved