2012-03-15 41 views
5

Tôi đang sử dụng số <jdbc:embedded> của Spring để chạy kiểm tra tích hợp và chấp nhận bằng HSQLDB. Nếu tôi bao gồm các hsqldb.jar trên classpath sau đó mọi thứ suôn sẻ của ứng dụng nhưng di chuyển tài xế JBoss như một module tôi nhận được ngoại lệ sau đây:Spring jdbc: cơ sở dữ liệu nhúng không thể truy cập trình điều khiển jdbc trên JBoss AS 7

PropertyAccessException 1: org.springframework.beans.MethodInvocationException: 
Property 'databaseType' threw exception; 
nested exception is java.lang.IllegalStateException: 
Driver for test database type [HSQL] is not available in the classpath 

JBoss thể nhìn thấy người lái xe như tôi có thể cấu hình một datatsource trên JBoss sử dụng nó nhưng không thể tìm ra lý do tại sao nó không phải trên classpath ứng dụng của tôi. Các trình điều khiển jdbc chỉ có sẵn thông qua một nguồn dữ liệu được cấu hình trên Jboss hay có cái gì khác mà tôi cần làm để làm cho nó có sẵn không?

Trả lời

2

Có thể câu trả lời chưa được tương đối, nhưng dù sao đi nữa.
Bạn nên thêm hsqldb.jar vào classpath
Nếu sử dụng maven kiểm tra phiên bản mới nhất từ ​​maven repo và thêm vào pom.
Hoặc tìm mới nhất trên official website và sử dụng nó.
Tất cả đều tốt nhất!

2

Tôi đã gặp vấn đề tương tự khi sử dụng Spring nhưng với cơ sở dữ liệu H2. Có 2 khả năng, bạn có thể đặt tương ứng .jar vào cơ sở dữ liệu của bạn trong thư mục lib của máy chủ của bạn. Hoặc bạn có thể đặt nó trong webApp của bạn. tôi đã chọn khả năng mới nhất, do đó, tôi đặt sự phụ thuộc này trong pom.xml của tôi:

<dependency> 
    <groupId>com.h2database</groupId> 
    <artifactId>h2</artifactId> 
    <version>XXXXXX</version> 

+1

thư viện h2 không có gì để làm với HSQL – Andremoniy

+0

tôi tin @gibers được ngụ ý chỉ cần sử dụng H2 thay vì HSQL ... mà làm việc cho tôi là tốt. –

0

Chỉ cần thêm sự phụ thuộc vào thư viện HSQL. Nếu bạn đang sử dụng maven, sau đó:

<dependency> 
     <groupId>org.hsqldb</groupId> 
     <artifactId>hsqldb</artifactId> 
    </dependency> 
Các vấn đề liên quan