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

JSP 連線資料庫 ClassNotFoundException:mysql-connector-java.jar 部署位置詳解

     編輯:程式設計疑難解答

錯誤訊息

java.lang.ClassNotFoundException: com.mysql.jdbc.Driver

原因

執行期找不到 MySQL JDBC 驅動類別。常見原因:

  1. 專案未引入 mysql-connector-java-x.x.xx.jar。
  2. Jar 放錯位置:Web 專案必須放在 WEB-INF/lib/ 目錄下,伺服器啟動時會自動載入。
  3. 伺服器共享庫衝突(如 Tomcat lib 目錄放了不同版本)。

正確部署步驟

  1. 下載對應版本 Jar(Maven: mysql:mysql-connector-java:8.0.33)。
  2. 複製到 WebContent/WEB-INF/lib/ (Eclipse) 或 src/main/webapp/WEB-INF/lib/ (Maven 結構)。
  3. 若用 Maven,確認 pom.xml 依賴 scope 為 compile (預設),打包 WAR 會自動放入 WEB-INF/lib。
  4. 重新部署專案並重啟伺服器。

驗證方式

// JSP 測試
Class.forName("com.mysql.cj.jdbc.Driver"); // 8.0+ 類別名
Connection conn = DriverManager.getConnection(url, user, pass);
out.println("連線成功: " + conn);

補充:JDBC 8.0+ 類別名變更

  • 舊版:com.mysql.jdbc.Driver
  • 新版 (8.0+):com.mysql.cj.jdbc.Driver

請依引用的 Jar 版本調整。

總結

Web 專案 JDBC 驅動必須放在 WEB-INF/lib,而非 Java Build Path 庫。主程式測試通過只代表 Build Path 正確,部署時仍需確認 WAR 內包含該 Jar。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved