2013-08-06 34 views
8

Tôi đang cố gắng lấy lớp Mẫu của Xerial để làm việc trong Eclipse với sqlite, nhưng tôi vẫn gặp lỗi "ClassNotFoundException: org.sqlite. JDBC "java.lang.ClassNotFoundException: lỗi org.sqlite.JDBC trong chương trình Sample.java từ xerial

Tôi đã tải xuống tệp sqlite-jdbc-3.7.2.jar từ https://bitbucket.org/xerial/sqlite-jdbc/downloads. Sao chép nó vào thư mục lib trong dự án của tôi "database_test" trong nhật thực. Sau đó, nhấp chuột phải vào Project-> Properties-> Java Build Path-> Libraries Tab-> Add JARs-> Chọn tệp jar. Tôi cố gắng để thực thi mã này từ Xerial tìm thấy ở đây: https://bitbucket.org/xerial/sqlite-jdbc#markdown-header-usage

// load the sqlite-JDBC driver using the current class loader 
Class.forName("org.sqlite.JDBC"); 

Connection connection = null; 
try 
{ 
    // create a database connection 
    connection = DriverManager.getConnection("jdbc:sqlite:sample.db"); 
    Statement statement = connection.createStatement(); 
    statement.setQueryTimeout(30); // set timeout to 30 sec. 

    statement.executeUpdate("drop table if exists person"); 
    statement.executeUpdate("create table person (id integer, name string)"); 
    statement.executeUpdate("insert into person values(1, 'leo')"); 
    statement.executeUpdate("insert into person values(2, 'yui')"); 
    ResultSet rs = statement.executeQuery("select * from person"); 
    while(rs.next()) 
    { 
    // read the result set 
    System.out.println("name = " + rs.getString("name")); 
    System.out.println("id = " + rs.getInt("id")); 
    } 
} 
catch(SQLException e) 
{ 
    // if the error message is "out of memory", 
    // it probably means no database file is found 
    System.err.println(e.getMessage()); 
} 
finally 
{ 
    try 
    { 
    if(connection != null) 
     connection.close(); 
    } 
    catch(SQLException e) 
    { 
    // connection close failed. 
    System.err.println(e); 
    } 
} 

} }

Mỗi trang web Tôi đã đến nói thêm file jar để xây dựng con đường của bạn hoặc đường dẫn lớp và tôi tin rằng tôi đã làm điều đó, nhưng không có gì giải quyết được vấn đề. Bất kỳ trợ giúp sẽ được đánh giá cao. Cảm ơn.

+1

Giả sử bạn đang sử dụng Eclipse hoặc Netbeans - nếu 'DriverManager.getConnection()' không được gạch chân màu đỏ (không tìm thấy lớp/Method) và chương trình biên dịch tốt sau đó của nó (hầu như) an toàn để giả sử bạn đã nhập tệp * .jar đúng cách. Bạn có thể thử và mở rộng thư mục 'libs' trong cửa sổ ** Files/Projects ** ở phía bên trái, sau đó digg vào tệp' sqlite-jdbc-3.7.2.jar' và xem liệu 'org'-> 'sqlite'->' JDBC' tồn tại. – phew

+0

Cảm ơn bạn đã trả lời. Tôi đang sử dụng Eclipse, và tôi đã mở tệp jar tôi đã tải xuống từ Xerial và cấu trúc thư mục org/sqlite/JDBC.class và org/sqlite/JDBC.java đều tồn tại trong tệp JAR. Chạy javac Sample.java không trả về lỗi nào. Không có gì được gạch dưới màu đỏ trong Eclipse ... – user2646175

+0

Bạn đã chạy chương trình trong IDE hay bạn đã biên dịch nó thành '.jar' và chạy nó qua bàn điều khiển? EDIT: Ngoài ra tôi nhớ Eclipse cung cấp cho bạn 'Thêm các JAR bên ngoài '(tôi không sử dụng Eclipse trong một thời gian) - bạn cũng có thể thử nó, nên sử dụng đường dẫn đầy đủ đến thư viện thay vì đường dẫn tương đối từ thư mục gốc của dự án. – phew

Trả lời

5

Nhờ người sử dụng phew cho trợ giúp/ý tưởng.

Tôi đã bỏ lỡ hướng dẫn dòng lệnh rõ ràng trên trang web của Xerial cho chương trình Mẫu. Để chương trình chạy từ dòng lệnh, tôi phải sao chép tệp JAR vào cùng thư mục với chương trình .java. Sau đó, chạy lệnh sau:

java -classpath: Sample

+4

Nếu thay vì Linux bạn đang sử dụng các cửa sổ, bạn nên sử dụng ";" thay vì ":" trong classpath. –

1

Một cách mà làm việc đối với tôi là đi đến JRE Hệ thống Thư viện -> Clik ngay -> "sqlite-jdbc- (VERSION) .jar." xây dựng đường dẫn -> cấu hình xây dựng đường dẫn -> thêm các lọ bên ngoài -> chọn jar và biên dịch.

0

đầu tiên bạn có thể tải sqlite-jdbc-3.8.11.2 và sau khi tập tin add jar trong dự án của bạn

Window > Show_view > Package Explorer 

step-1: right click on referenced libraries 
step-2: select Built path 
step-3: configure Built path 
step-4: Add External jars file 
step-5: add sqlite-jdbc-3.8.11.2 
step-6: ok 

hoặc cách thứ hai hữu ích


dự án của bạn có thể đặt Classpath: Lib/sqlite-jdbc-3.8.11.2.jar

1)create a folder "Lib" in your project workspace 
2)"Lib" folder paste jar file like "sqlite-jdbc-3.8.11.2.jar" 
3)After Double click on your project file i.e. 'MANIFEST.MF' 
4)select Runtime(Bottom view panel) 
5)plug-in Classpath(Bottom_right position) to add jar file like "Lib/sqlite-jdbc-3.8.11.2.jar" 

this working 100% sure..thanks 
0

Như đã nói ở trên, hãy thêm tệp jar vào Dự án của bạn.

Đối Android Studio/IntelliJ bạn chỉ cần đi theo cách này:

File> Cấu trúc dự án>

enter image description here

New Module>

enter image description here

nhập .JAR /.AAR Gói

enter image description here

Bây giờ hãy chọn/thêm tệp .jar của bạn và để IntelliJ làm phần còn lại.

0

Tất cả các giải pháp trên hoạt động tốt, khi bạn đang xử lý ứng dụng JAVA trên máy tính để bàn. Trong trường hợp của ứng dụng WebAPP, các giải pháp trên sẽ không hoạt động. Trên thực tế nó là vấn đề với máy chủ ứng dụng của bạn, đó là bạn cần thiết để thêm sqlite-jar theo WEB-INF/lib của bạn và sau đó chỉ có bạn sẽ có thể chạy webapp của bạn thành công.

Đối với làm như vậy bạn có thể làm theo các bước dưới đây:

Go to:

dự án-> Properties-> Triển khai hội-> Add-> Lưu trữ From File System -> Next -> Thêm

Điều hướng đến thư mục nơi bạn có jar bình thường, chọn nó và nhấn OK.

Nhấp vào Hoàn tất. OK.

Xong, bạn sẽ có thể chạy ứng dụng của mình ngay bây giờ.

Cảm ơn

Các vấn đề liên quan