Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

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

Thay đổi phạm vi thành compile :

<dependency>
    <groupId>mysql</groupId>
    <artifactId>mysql-connector-java</artifactId>
    <version>5.1.17</version>
    <type>jar</type>
    <scope>compile</scope>
</dependency>

Cái nào - vì nó là phạm vi mặc định nên tương ứng với việc loại bỏ định nghĩa phạm vi - số lượng giống nhau cho loại:

<dependency>
   <groupId>mysql</groupId>
   <artifactId>mysql-connector-java</artifactId>
   <version>5.1.17</version>
</dependency>

Hãy xem phần này: https://maven.apache .org / Guide / Introduction / Introduction-to-dependency-Cơ chế.html để biết thông tin chi tiết về phạm vi.

Đây là thông tin nhanh về lý lịch của bạn:

Bạn đã chỉ định trình điều khiển JDBC có phạm vi runtime . Hầu hết các IDE sẽ luôn bỏ qua các phạm vi và thêm tất cả các phần phụ thuộc của bạn vào của chúng classpath (ví dụ:classpath được sử dụng khi bạn chạy thứ gì đó bên ngoài eclipse. Theo phạm vi runtime bạn đang nói với maven rằng nó không được đóng gói phụ thuộc đó vào trong jar cuối cùng của bạn vì môi trường thực thi sẽ "cung cấp phụ thuộc đó tại runtime . Ví dụ. bạn sẽ phải thêm thủ công nó vào classpath khi gọi jar của bạn hoặc thay đổi phạm vi thành compile điều này sẽ dẫn đến trình điều khiển jar được đóng gói bên trong jar của bạn và có sẵn trong thời gian chạy.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. '0000-00-00 00:00:00' không thể được biểu thị dưới dạng java.sql. Lỗi dấu thời gian

  2. Tìm sự khác biệt giữa số hạng mới nhất và số hạng gần nhất thứ hai

  3. Sử dụng strtotime cho các ngày trước năm 1970

  4. Nhược điểm của trích dẫn số nguyên trong truy vấn Mysql?

  5. Độ dài cột JSON tối đa trong MySQL