Khắc phục lỗi thiếu Dependency cho sqljdbc4, ojdbc6 và tomcat-jdbc trong Maven

Trong quá trình phát triển ứng dụng Java sử dụng Maven, các nhà phát triển thường gặp phải lỗi Missing artifact hoặc Cannot resolve đối với các thư viện JDBC của Microsoft SQL Server hoặc Oracle. Nguyên nhân chủ yếu là do các ràng buộc về bản quyền, khiến các tệp JAR này không được phân phối trực tiếp trên Maven Central Repository.

1. Xử lý lỗi với Microsoft SQL Server (sqljdbc4)

Khi bạn khai báo dependency trong tệp pom.xml như sau:

<dependency>
    <groupId>com.microsoft.sqlserver</groupId>
    <artifactId>sqljdbc4</artifactId>
    <version>4.0</version>
</dependency>

Maven có thể báo lỗi không tìm thấy tệp tin. Để giải quyết, bạn cần tải xuống tệp sqljdbc4.jar từ trang chủ của Microsoft hoặc các nguồn tin cậy. Sau khi đã có tệp JAR, thực hiện cài đặt thủ công vào kho lưu trữ cục bộ (Local Repository) bằng lệnh sau:

mvn install:install-file \
  -Dfile=duong/dan/den/sqljdbc4-4.0.jar \
  -DgroupId=com.microsoft.sqlserver \
  -DartifactId=sqljdbc4 \
  -Dversion=4.0 \
  -Dpackaging=jar

2. Xử lý lỗi với Oracle JDBC (ojdbc6)

Tương tự như SQL Server, thư viện của Oracle (như ojdbc6 phiên bản 11.2.0.3) thường không có sẵn trên các kho lưu trữ công khai. Lỗi phổ biến là Failure to find com.oracle:ojdbc6:pom.

Quy trình khắc phục bao gồm các bước:

  • Tải tệp ojdbc6.jar phù hợp với phiên bản cơ sở dữ liệu đang sử dụng.
  • Mở terminal/command prompt tại thư mục chứa tệp vừa tải.
  • Sử dụng lệnh Maven để đưa thư viện vào hệ thống:
mvn install:install-file \
  -Dfile=ojdbc6-11.2.0.3.jar \
  -DgroupId=com.oracle \
  -DartifactId=ojdbc6 \
  -Dversion=11.2.0.3 \
  -Dpackaging=jar

Lưu ý: Tránh đặt tệp JAR cần cài đặt trực tiếp bên trong cấu trúc thư mục của .m2/repository trước khi chạy lệnh, vì điều này có thể gây xung đột hoặc lỗi khi Maven thực hiện tiến trình install.

3. Trường hợp với tomcat-jdbc và các thư viện khác

Đối với các thư viện như tomcat-jdbc-8.5.14, nếu hệ thống không thể tự động tải xuống do vấn đề mạng hoặc cấu hình proxy, bạn cũng áp dụng phương pháp tương tự. Cấu trúc lệnh tổng quát như sau:

mvn install:install-file \
  -Dfile=[Tên_Tệp_Jar] \
  -DgroupId=[GroupId_Tương_Ứng] \
  -DartifactId=[ArtifactId_Tương_Ứng] \
  -Dversion=[Phiên_Bản] \
  -Dpackaging=jar

Giải thích các tham số:

  • -Dfile: Đường dẫn tuyệt đối hoặc tương đối đến tệp JAR thực tế.
  • -DgroupId: Định danh nhóm (thường lấy theo cấu trúc gói).
  • -DartifactId: Tên của dự án/thư viện.
  • -Dversion: Phiên bản cụ thể của thư viện.
  • -Dpackaging: Định dạng đóng gói (mặc định là jar).

Sau khi chạy các lệnh trên thành công, bạn chỉ cần quay lại IDE (như IntelliJ IDEA hoặc Eclipse) và thực hiện "Reload/Update Maven Project" để xóa bỏ các cảnh báo lỗi đỏ.

Thẻ: Maven jdbc SQL Server Oracle Dependency Management

Đăng vào ngày 17 tháng 8 lúc 19:54