2012-01-08 74 views
12

Tôi đang phát triển một ứng dụng web bằng cách sử dụng maven spring và hibernate và tôi cần tạo lược đồ bằng hibernate mà tôi có sau đây trong pom.xml của mình để kết nối với cơ sở dữ liệu MySQL 5.5 .Không tìm thấy lớp Trình điều khiển JDBC: com.mysql.jdbc.Driver

<!-- MySql 5.5 Connector --> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.15</version> 
    </dependency> 

này nhập khẩu mysql-connector-java-5.1.15.jar trong Libraries tôi dưới Maven Dependencies nhưng khi tôi cố gắng để kết nối với cơ sở dữ liệu nó mang lại cho tôi Exception in thread "main" org.hibernate.HibernateException: JDBC Driver class not found: com.mysql.jdbc.Driver.

Tôi đã thực hiện điều này giống như các thời gian, nhưng tôi đã làm điều đó khi tôi không sử dụng Maven để quản lý các phụ thuộc của tôi và xây dựng dự án. Tôi chỉ sử dụng để có nó cùng một tập tin jar trong thư mục lib của một Dynamic Web Project trong IDE Eclipse.

Ai đó có thể cho tôi biết tôi đang thiếu gì ở đây và tôi cần phải có cái bình nào khác trong đường dẫn xây dựng của mình?

Cảm ơn.

Trả lời

15

Để bắt đầu, lọ mà tôi cần kết nối với MySQL 5.5 phải là mysql-connector-java-5.1.15-bin.jar nhưng không phải là mysql-connector-java-5.1.15.jar. Thứ hai, lọ này không có sẵn trong kho lưu trữ maven vì vậy tôi cần phải tự thêm nó vào kho lưu trữ maven cục bộ của tôi và sau đó thêm nó như là một phụ thuộc trong pom.xml của tôi.

Thêm mysql-connector-java-5.1.15-bin.jar vào kho maven địa phương bằng cách

mvn install:install-file -Dfile=C:\Libraries\mysql-connector-java-5.1.15-bin\mysql-connector-java-5.1.15-bin.jar -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.15-bin -Dpackaging=jar 

và sau đó thêm các phụ thuộc sau đây để pom.xml của dự án.

<!-- MySql 5.5 Connector --> 
    <dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.15-bin</version> 
    </dependency> 
+1

JAR không có hậu tố -bin từ kho lưu trữ Maven hoạt động tốt, tôi đang sử dụng 5.1.20 bản thân mình. Có lẽ không phải là tên của JAR, mà thực sự không quan trọng, nhưng nội dung thay đổi từ cái đầu tiên bạn sử dụng cho lần thứ hai. Làm rõ điều này có lẽ sẽ làm cho câu trả lời tốt hơn một chút. –

2

Giải nén tệp JAR được tạo của bạn. Có một thư mục WEB-INF. Sau đó kiểm tra xem mysql-connector-java-5.1.15.jar có tồn tại trong WEB-INF/lib này không.

+0

Cấu trúc ứng dụng đã được thực hiện bởi maven cho java webapp, tại sao các mars phụ thuộc maven nằm trong thư mục lib bên trong WEB-INF? Bạn không có nghĩa là một thư mục WEB-INF trong 'mysql-connector-java-5.1.15.jar' được giải nén, phải không? Tôi đang thiếu gì? – skip

+0

Nó cho tôi lỗi tương tự ngay cả khi tôi định cấu hình đường dẫn xây dựng theo cách thủ công bằng cách thêm 'mysql-connector-java-5.1.15.jar' vào đường dẫn xây dựng, mà tôi không chắc liệu tôi có nên làm điều đó với con quạ hay không dự án webapp như với maven tôi thấy các phụ thuộc trong 'Tài nguyên Java'. – skip

+0

Tôi chỉ tạo lược đồ, tôi không nghĩ thư mục lib trong WEB-INF có nên làm gì với nó không? Tôi không thể tin rằng tôi bị mắc kẹt ở đó. – skip

6

Cảm ơn câu trả lời ở trên - chỉ là một bình luận cho người dùng NetBeans: (tên được thay thế bằng phiên bản của bạn)

  1. Các JAR mysql có thể được tải here
  2. mvn thực thi có thể được tìm thấy tại c:\Program Files\NetBeans 7.2.1\java\maven\bin
  3. chạy set JAVA_HOME=C:\Program Files (x86)\Java\jdk1.7.0_10
  4. Sau đó, lệnh trên sẽ hoạt động: mvn install:install-file -Dfile=mysql-connector-java-5.1.15-bin.jar -DgroupId=mysql -DartifactId=mysql-connector-java -Dversion=5.1.15-bin -Dpackaging=jar
  5. gói cài đặt có thể được tìm thấy trong kho lưu trữ m2 trong thư mục nhà của bạn
1

giải pháp làm việc của tôi

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

thêm trên phụ thuộc vào pom.xml công trình đối với tôi ...

0

Add tệp dưới đây để pom.xml

<dependency> 
     <groupId>mysql</groupId> 
     <artifactId>mysql-connector-java</artifactId> 
     <version>5.1.6</version> 
    </dependency> 
Các vấn đề liên quan