首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫

JDBC 連接 MySQL「無法載入驅動」問題排查:CLASSPATH vs 模組路徑

     編輯:MySQL 資料庫相關知識

環境

  • JDK 1.6.0_22 + Eclipse + MySQL 5.0.22 + mysql-connector-java-5.1.7-bin.jar
  • 專案「建置路徑」已加入 JAR,運行仍報 ClassNotFoundException: com.mysql.jdbc.Driver。

解決方案

將 JAR 複製到 JRE 擴充目錄:


D:\Java\jdk1.6.0_22\jre\lib\ext\mysql-connector-java-5.1.7-bin.jar

重新編譯運行即成功。

根因分析

  • Eclipse「建置路徑」僅影響編譯期與 Eclipse 內部運行配置。
  • 直接運行 java -cp ... 或外部啟動時,**執行時 CLASSPATH** 決定類別載入。
  • jre/lib/ext 是 Java **擴充類別載入器** 掃描目錄,優先於應用 CLASSPATH,全域可見。

最佳實踐(避免污染 JRE)

  1. **Maven/Gradle 專案**:
    <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>8.0.33</version></dependency>
  2. **非建構工具**:啟動時指定 -cp 或 --class-path:
    java -cp ".;lib/mysql-connector-java-5.1.7-bin.jar" com.example.Main
  3. **Eclipse 運行配置**:Run Configurations → Classpath → User Entries → Add External JARs。
  4. **生產部署**:打包成 Fat JAR(maven-shade-plugin)或放入容器 WEB-INF/lib。

版本對應提醒

MySQL 版本驅動類別Maven 坐標
5.xcom.mysql.jdbc.Drivermysql:mysql-connector-java:5.1.49
8.0+com.mysql.cj.jdbc.Drivercom.mysql:mysql-connector-j:8.0.33
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved