2013-08-06 2 views
8

Ich versuche, Xerial Sample-Klasse in Eclipse mit SQLite zu arbeiten, aber ich bekomme immer den Fehler "ClassNotFoundException: org.sqlite. JDBC "java.lang.ClassNotFoundException: org.sqlite.JDBC Fehler in Sample.java Programm von Xerial

Ich habe die Datei sqlite-jdbc-3.7.2.jar von https://bitbucket.org/xerial/sqlite-jdbc/downloads heruntergeladen. Kopierte es in den lib-Ordner unter meinem Projekt "database_test" in Eclipse. Klicken Sie dann mit der rechten Maustaste auf Projekt-> Eigenschaften-> Java-Build-Pfad-> Registerkarte Bibliotheken-> JARs hinzufügen-> Wählen Sie die JAR-Datei aus. Ich versuche, diesen Code auszuführen, von Xerial hier: 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); 
    } 
} 

} }

Jede Seite, die ich gewesen gesagt hat die JAR-Datei auf Ihren Build-Pfad oder Klassenpfad hinzufügen, und ich glaube, ich habe das getan, aber nichts hat das Problem gelöst. Jede Hilfe wäre willkommen. Vielen Dank.

+1

Angenommen, Sie Eclipse oder Netbeans verwenden - wenn 'DriverManager.getConnection()' ist nicht rot unterstrichen (Klasse/Methode nicht gefunden) und das Programm kompiliert dann fein seine (fast) sicher Sie davon ausgehen, Die * .jar-Datei wurde ordnungsgemäß importiert. Sie könnten versuchen, den libs-Ordner in Ihrem ** Files/Projects ** -Fenster auf der linken Seite zu erweitern und dann in die 'sqlite-jdbc-3.7.2.jar'-Datei zu gucken und nach 'org'-> suchen 'sqlite'->' JDBC' existiert. – phew

+0

Danke für die Antwort. Ich benutze Eclipse, und ich habe die Jar-Datei geöffnet, die ich von Xerial heruntergeladen habe, und die Ordnerstruktur org/sqlite/JDBC.class und org/sqlite/JDBC.java sind beide in der JAR-Datei vorhanden. Das Ausführen von javac Sample.java gibt keine Fehler zurück. Auch in Eclipse ist nichts rot unterstrichen ... – user2646175

+0

Haben Sie das Programm innerhalb der IDE ausgeführt oder haben Sie es zu '.jar' kompiliert und über die Konsole ausgeführt? BEARBEITEN: Ich erinnere mich auch, dass Eclipse Ihnen auch 'Externe JARs hinzufügen' anbietet (ich habe Eclipse zwar schon lange nicht mehr benutzt) - Sie könnten es auch versuchen, anstatt des relativen Pfades von der Root-Verzeichnis des Projekts. – phew

Antwort

5

Dank user puh für die Hilfe/Ideen.

Ich habe die offensichtliche Befehlszeile auf der Xerial-Website für das Beispielprogramm verpasst. Um das Programm über die Befehlszeile auszuführen, musste ich die JAR-Datei in den gleichen Ordner wie das .java-Programm kopieren. Dann führen Sie den folgenden Befehl ein:

java -classpath: Beispiel

+4

Wenn Sie anstelle von Linux Fenster verwenden, sollten Sie ";" anstelle von ":" im Klassenpfad. –

1

Eine Möglichkeit, die für mich gearbeitet wird JRE System Library gehen -> rechte clik -> "SQLite-JDBC- (VERSION) .jar." build path -> configure build path -> externe jars hinzufügen -> jar auswählen und kompilieren.

0

erste können Sie herunterladen SQLite-jdbc-3.8.11.2 und nach Add JAR-Datei in Ihrem Projekt

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 

oder zweite Art und Weise nützlich


Ihr Projekt kann den Klassenpfad festlegen: 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

Wie bereits erwähnt, fügen Sie die JAR-Datei zu Ihrem Projekt hinzu.

Für Android Studio/IntelliJ Sie gerade diesen Weg gehen:

Datei> Projektstruktur>

enter image description here

Neues Modul>

enter image description here

Import .JAR /.AAR Paket

enter image description here

Jetzt select/fügen Sie Ihre .jar-Datei und lassen Sie IntelliJ den Rest.

0

Alle oben genannten Lösungen funktionieren gut, wenn Sie mit der Desktop-JAVA-Anwendung arbeiten. Im Fall der WebAPP-Anwendung funktionieren die folgenden Lösungen nicht. Eigentlich ist es das Problem mit Ihrem App Server, dass Sie sqlite-jar unter Ihrem WEB-INF/lib hinzufügen müssen und nur dann können Sie Ihre Webapp erfolgreich ausführen.

Für Dabei können Sie unter Schritte folgen:

Gehe zu:

Ausbau-> Einstellungen-> Deployment Montage-> Add-> Archiv From File System -> Weiter -> Add

Navigieren Sie zu dem Ordner, in dem Sie Ihr sqlite-jar haben, wählen Sie es aus und drücken Sie OK.

Klicken Sie auf Fertig stellen. OK.

Fertig, Sie sollten jetzt Ihre App ausführen können.

Dank