Hướng dẫn dependency mysql:mysql-connector-java-8.0 28 not found - phụ thuộc mysql:mysql-connector-java-8.0 28 không tìm thấy

Thành công, tôi đã thực hiện chương trình JDBC đầu tiên của mình bằng cách sử dụng MariaDB, Maven, Java-11. Bây giờ tôi phải truy cập mysql và chỉ trao đổi sự phụ thuộc của mariadb bằng cách
Now I have to access MySQL and just exchanged the MariaDB dependency by

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

Tôi đã tìm ra rằng com.mysql.jdbc và com.mysql.cj và các mô-đun khác được lưu trữ trong mysql-connector-java-8.0.28.jar. Do đó, trong mô-đun-info.java tôi đã trao đổi

requires org.mariadb.jdbc;

qua

requires com.mysql.jdbc;

Tôi cũng đã thử

requires com.mysql.cj;

Tuy nhiên, Maven Compiler-Plugin: 3.9.0 phàn nàn

module not found

Tôi đã bỏ lỡ điều gì, ở đây?

hỏi ngày 10 tháng 2 lúc 7:06Feb 10 at 7:06

Hướng dẫn dependency mysql:mysql-connector-java-8.0 28 not found - phụ thuộc mysql:mysql-connector-java-8.0 28 không tìm thấy

1

Khmarbaise đã đưa tôi đi đúng hướng: Tôi gần như quên rằng có các tệp JAR kế thừa xung quanh không được chuẩn bị để tích hợp dễ dàng vào JPMS. Để bao gồm tệp jar mysql-connector-java-8.0.28.jar, không có mô-đun-info. class, tôi phải nhập
To include the jar file mysql-connector-java-8.0.28.jar, which comes without a module-info.class, I had to enter

requires java.sql;
requires mysql.connector.java;

đến mô-đun của tôi-info.java. Tên mô -đun mysql.connector.java có nguồn gốc từ tên của tệp jar của nó bằng cách bỏ qua thông tin phiên bản và thay thế các dấu gạch ngang bằng các dấu chấm.module-info.java.
The module name mysql.connector.java is derived from the name of its jar file by omitting the version info and substituting the dashes by dots.

Đã trả lời ngày 10 tháng 2 lúc 11:06Feb 10 at 11:06

Ngongngongngong

6421 Huy hiệu vàng7 Huy hiệu bạc18 Huy hiệu đồng1 gold badge7 silver badges18 bronze badges

2

Bạn cũng có thể sử dụng Trình quản lý phụ thuộc Maven để cài đặt và định cấu hình thư viện Trình kết nối/j trong dự án của bạn. Trình kết nối/J được xuất bản trong kho lưu trữ trung tâm Maven với nhóm sau và Artifactid sau đây:

  • GroupId: com.mysql

  • Artifactid:

    requires org.mariadb.jdbc;
    
    0

Bạn có thể liên kết thư viện Trình kết nối/J với dự án của mình bằng cách thêm phụ thuộc sau trong tệp

requires org.mariadb.jdbc;
1 của bạn:

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>x.y.z</version>
</dependency>

Lưu ý rằng nếu bạn sử dụng Maven để quản lý các phụ thuộc dự án của mình, bạn không cần phải đề cập rõ ràng đến thư viện

requires org.mariadb.jdbc;
2 vì nó được giải quyết bằng khả năng chuyển tiếp phụ thuộc. Tuy nhiên, nếu bạn không muốn sử dụng các tính năng X Devapi, bạn cũng có thể muốn thêm loại trừ phụ thuộc để tránh liên kết thư viện phụ không cần thiết. Ví dụ:not want to use the X DevAPI features, you may also want to add a dependency exclusion to avoid linking the unneeded sub-library. For example:

<dependency>
    <groupId>com.mysql</groupId>
    <artifactId>mysql-connector-j</artifactId>
    <version>x.y.z</version>
    <exclusions>
        <exclusion>
            <groupId>com.google.protobuf</groupId>
            <artifactId>protobuf-java</artifactId>
        </exclusion>
    </exclusions> 
</dependency>

Ghi chú

Đối với Trình kết nối/J 8.0,0,29 và sớm hơn, hãy sử dụng tọa độ Maven sau:

  • GroupID:

    requires org.mariadb.jdbc;
    
    3

  • Artifactid:

    requires org.mariadb.jdbc;
    
    4


trừu tượng

Hướng dẫn này mô tả cách cài đặt, định cấu hình và phát triển các ứng dụng cơ sở dữ liệu bằng Trình kết nối MySQL/J 8.0, trình điều khiển JDBC và X Devapi để liên lạc với các máy chủ MySQL.

Trình kết nối MySQL/J 8.0 rất được khuyến khích sử dụng với MySQL Server 8.0 và 5.7. Vui lòng nâng cấp lên đầu nối MySQL/J 8.0.

Để biết ghi chú chi tiết các thay đổi trong mỗi bản phát hành của Trình kết nối/J 8.0, hãy xem Ghi chú phát hành MYSQL Connect/J 8.0.

Để biết thông tin pháp lý, bao gồm thông tin cấp phép, hãy xem lời nói đầu và thông báo pháp lý.

Để được giúp đỡ trong việc sử dụng MySQL, vui lòng truy cập diễn đàn MySQL, nơi bạn có thể thảo luận về các vấn đề của mình với người dùng MySQL khác.

Tài liệu được tạo vào ngày: 2022-11-14 (Sửa đổi: 74517)

Tiết lộ: Bài viết này có thể chứa các liên kết liên kết. Khi bạn mua, chúng tôi có thể kiếm được một khoản hoa hồng.

Vấn đề: Bạn đang nhận được java.lang.ClassNotFoundException: com.mysql.jdbc.driver Lỗi trong khi kết nối với cơ sở dữ liệu MySQL từ chương trình Java. Bạn có thể đang chạy ứng dụng Java của mình trực tiếp từ dấu nhắc lệnh, script shell, kiến ​​hoặc nhật thực. You are getting java.lang.ClassNotFoundException: com.mysql.jdbc.Driver error while connecting to MySQL database from Java Program. You may be running your Java application directly from the command prompt, shell script, ANT or Eclipse.

Nguyên nhân: Để kết nối với cơ sở dữ liệu MySQL, bạn cần trình điều khiển JDBC cho MySQL. Một lớp thực hiện giao diện java.sql.driver cho MySQL. Mỗi nhà cung cấp có trách nhiệm thực hiện lớp này cho cơ sở dữ liệu của họ. Việc triển khai trình điều khiển này được MySQL cung cấp làm Thư viện đầu nối Java MySQL. Có một lớp gọi là com.mysql.jdbc.driver thực hiện giao diện này. Khi bạn làm class.forname ("com.mysql.jdbc.driver") để tải và đăng ký lớp trình điều khiển này, trình tải lớp trong tìm kiếm JVM cho điều này Lớp bên trong tất cả các tập tin JAR có sẵn trong ClassPath. Nếu MySQL-ConneNector-Java-5.1.25-Bin.jar, trong đó chứa lớp này không có sẵn trong ClassPath thì JVM sẽ ném java.lang.ClassNotFoundException: com.mysql.jdbc.driver vào thời gian chạy. In order to connect to MySQL database, you need JDBC driver for MySQL. A class that implements java.sql.Driver interface for MySQL. Every vendor is responsible to implement this class for their databases. This driver implementation is provided by MySQL as MySQL java connector library. There is a class called com.mysql.jdbc.Driver which implements this interface.

When you do Class.forName("com.mysql.jdbc.Driver") to load and register this driver class, the class loader in JVM search for this class inside all JAR files available in CLASSPATH. If mysql-connector-java-5.1.25-bin.jar, which contains this class is not available in CLASSPATH then JVM will throw java.lang.ClassNotFoundException: com.mysql.jdbc.Driver at run-time.

Hãy nhớ rằng, sẽ không có bất kỳ lỗi nào trong thời gian biên dịch vì chương trình của bạn không phụ thuộc trực tiếp vào JAR này, tức là không sử dụng bất kỳ lớp hoặc phương thức nào từ bình này. Khi phương thức class.forname () sẽ thực thi vào thời gian chạy, nó sẽ cố gắng tìm lớp trình điều khiển được cung cấp dưới dạng đối số chuỗi và ném lỗi này nếu nó không thể tìm thấy nó trên classpath.Class.forName() method will execute at run-time, it will try to find the driver class provided as String argument and throw this error if its not able to find it on classpath.

Giải pháp: Bạn có thể khắc phục lỗi này bằng cách triển khai MySQL-Connector-Java-5.1.25-Bin.jar vào đường dẫn lớp của ứng dụng của bạn. Nếu bạn không chắc chắn làm thế nào để đặt ClassPath, hãy làm theo các hướng dẫn được đưa ra trong bài viết đó. Tùy thuộc vào công cụ xây dựng của bạn, bạn có thể làm như sau để sửa Java.lang.ClassNotFoundException: com.mysql.jdbc.driver trong Eclipse, Maven và Gradle.You can fix this error by deploying mysql-connector-java-5.1.25-bin.jar into your application's classpath. If you are not sure how to set CLASSPATH, follow the instructions given in that article. Depending upon your build tool you can do the following to fix java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in Eclipse, Maven, and Gradle.

Sửa chữa & NBSP;java.lang.ClassNotFoundException: com.mysql.jdbc.Driver in Java and Eclipse

Bạn cần thêm trình điều khiển JDBC MySQL vào đường dẫn lớp của dự án Java Eclipse. Trình điều khiển MySQL là trình điều khiển JDBC loại 4, vì vậy bạn chỉ cần thêm tệp JAR trong Eclipse. Dưới đây là các bước để thêm một bình bên ngoài vào đường dẫn lớp của Eclipse

Các bước:

  • Nhấp chuột phải vào dự án của bạn
  • Chọn Build Path và chọn Cấu hình tùy chọn Build Path.
  • Chọn Thêm tùy chọn lọ ngoài
  • Tìm và thêm MySQL-ConneNector-Java-5.1.25-Bin.jar vào CLASSPATH của Eclipse. & NBSP;

Nếu bạn không có JAR lái xe MySQL, bạn có thể tải xuống từ Maven Central Library hoặc trực tiếp từ trang web Trình điều khiển JDBC của MySQL.

java.lang.ClassNotFoundException: com.mysql.jdbc.driver in gradle Gradle

Bạn có thể thêm trình điều khiển đầu nối JDBC MySQL bằng cách thêm dưới dạng phụ thuộc vào tệp bản dựng Gradle của bạn như được hiển thị bên dưới:

phụ thuộc {& nbsp; compile 'mysql: mysql-connector-java: 5.1.+'}
 compile 'mysql:mysql-connector-java:5.1.+'
}

java.lang.ClassNotFoundException: com.mysql.jdbc.driver trong Maven

Khắc phục lỗi này trong Maven dễ dàng, chỉ cần thêm phụ thuộc sau trong tệp POM.XML của dự án.

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

Ngoài ra, nếu bạn đang sử dụng maven bên trong Eclipse thông qua plugin M2ECLIPSE thì bạn cũng có thể thêm phụ thuộc như được hiển thị bên dưới:

Các bước: 1. Chọn pom.xml từ gói dự án Eclipse của bạn
1. Select pom.xml from your Eclipse project package explorer
2. Go to the dependency tab as shown below

Hướng dẫn dependency mysql:mysql-connector-java-8.0 28 not found - phụ thuộc mysql:mysql-connector-java-8.0 28 không tìm thấy

3. Nhấp vào Thêm và tìm kiếm Trình kết nối MySQL, sau khi tìm thấy chọn đúng phiên bản và sự phụ thuộc đó sẽ được thêm vào Eclipse ClassPath thông qua phụ thuộc Maven.

Hướng dẫn dependency mysql:mysql-connector-java-8.0 28 not found - phụ thuộc mysql:mysql-connector-java-8.0 28 không tìm thấy

Nếu bạn không thấy & nbsp; mysql-connector-java-5.1.36-bin.jar & nbsp; bên trong sự phụ thuộc maven của bạn, chỉ cần cập nhật lệnh maven của bạn hoặc chạy lệnh cài đặt maven bằng cách nhấp chuột phải vào dự án Maven Eclipse và chọn chạy AS- Cài đặt Maven.mysql-connector-java-5.1.36-bin.jar inside your Maven Dependency, just update your Maven project or run maven install command by doing right click on Maven Eclipse project and choosing Run As - Maven Install.

Đó là tất cả về cách khắc phục java.lang.ClassNotFoundException: com.mysql.jdbc.driver lỗi trong java. Lỗi sẽ biến mất ngay khi bạn triển khai tệp JAR kết nối MySQL thành ClassPath. Nếu bạn thấy lỗi này ngay cả sau khi triển khai MySQL-ConneNector-Java-5.1.25-Bin.jar trong ClassPath thì đó chắc chắn là một vấn đề với ClassPath. Có thể là đường dẫn lớp của bạn không được đặt đúng cách hoặc đường lớp của ứng dụng của bạn bị ghi đè bởi một số cài đặt. Kiểm tra các bước này để gỡ lỗi thêm.how to fix java.lang.ClassNotFoundException: com.mysql.jdbc.Driver error in Java. The error should gone as soon as you deploy MySQL connector JAR file into CLASSPATH. IF you see this error even after deploying mysql-connector-java-5.1.25-bin.jar in classpath then its certainly an issue with classpath. It's possible that your classpath is not set properly or your application's classpath is overridden by some settings. check these steps for further debugging.

Nếu bạn thích các mẹo khắc phục sự cố này và bạn đang vật lộn với các classnotfoundException khác hoặc Noclassdeffounderror, bạn cũng có thể kiểm tra các giải pháp sau:

  • Làm thế nào để sửa chữa & nbsp; 'javac' không được công nhận là lệnh nội bộ hoặc bên ngoài, chương trình có thể hoạt động hoặc lỗi tệp hàng loạt trong Java? [dung dịch]
  • Sự khác biệt giữa Noclassdeffounderror và ClassNotFoundException là gì trong Java? [câu trả lời]
  • Làm thế nào để giải quyết java.lang.classnotfoundException: oracle.jdbc.driver.oracledriver trong java? [dung dịch]
  • Làm thế nào để sửa chữa & nbsp; java.lang.ClassNotFoundException: org.springframework.web.context.contextloaderlistener Lỗi trong mùa xuân? [dung dịch]
  • Cách xử lý & nbsp; java.lang.noclassdeffounderror: org/dom4j/documentException trong java? [Giải pháp]
  • Sửa chữa & nbsp; ngoại lệ trong luồng "chính" java.lang.noclassdeffounderror: org/apache/xmlbeans/xmlobject trong java? [dung dịch]
  • Giải quyết & nbsp;
  • Làm thế nào để sửa chữa java.lang.classnotfoundException: org.postgresql.driver lỗi trong java? [Bước]

Tại sao đầu nối MySQL không hoạt động?

Thông thường có nghĩa là không có máy chủ MySQL chạy trên hệ thống hoặc bạn đang sử dụng tên tệp unix không chính xác hoặc số cổng TCP/IP khi cố gắng kết nối với máy chủ. Bạn cũng nên kiểm tra xem cổng TCP/IP bạn đang sử dụng chưa bị chặn bởi tường lửa hoặc dịch vụ chặn cổng.there is no MySQL server running on the system or that you are using an incorrect Unix socket file name or TCP/IP port number when trying to connect to the server. You should also check that the TCP/IP port you are using has not been blocked by a firewall or port blocking service.

Đầu nối MySQL trong Java là gì?

Trình kết nối MySQL/J là trình điều khiển JDBC Type 4, triển khai thông số kỹ thuật JDBC 4.2.Chỉ định loại 4 có nghĩa là trình điều khiển là triển khai Java thuần túy của giao thức MYSQL và không dựa vào các thư viện máy khách MySQL.a JDBC Type 4 driver, implementing the JDBC 4.2 specification. The Type 4 designation means that the driver is a pure Java implementation of the MySQL protocol and does not rely on the MySQL client libraries.

Việc sử dụng phụ thuộc Java đầu nối MySQL là gì?

MySQL cung cấp kết nối cho các ứng dụng máy khách được phát triển trong ngôn ngữ lập trình Java với Trình kết nối MYSQL/J, trình điều khiển thực hiện API kết nối cơ sở dữ liệu Java (JDBC) và cả MySQL X Devapi.Trình kết nối MySQL/J 8.0 là trình điều khiển JDBC Type 4 tương thích với đặc tả JDBC 4.2.provides connectivity for client applications developed in the Java programming language with MySQL Connector/J, a driver that implements the Java Database Connectivity (JDBC) API and also MySQL X DevAPI. MySQL Connector/J 8.0 is a JDBC Type 4 driver that is compatible with the JDBC 4.2 specification.

Tệp JAR kết nối MySQL ở đâu trong NetBeans?

mysql.Tệp jar.JAR trình điều khiển được đặt trong thư mục con LIB của thư mục cài đặt.lib subfolder of the installation directory.