2017-02-08 1 views
0

Ich verwende IntelliJ IDEA als meine Java IDE.Wie wird der korrekte JDBC-Treiber aus der JAR-Datei referenziert?

Mein Java-Projekt verwendet eine SQL-Datenbank und von IntelliJ läuft das Programm perfekt.

Beim Kompilieren zu einer JAR-Datei erhalte ich jedoch immer wieder den berüchtigten No suitable driver found for jdbc:sqlite Fehler.

Ich habe die sqlite-jdbc-3.15.1.jar Bibliothek in mein Projekt für den Einsatz importiert. Egal was ich mache, ich kann das JAR nicht außerhalb der IDE laufen lassen.

Ich habe versucht, die sqlite-jdbc-3.15.1.jar Datei im Verzeichnis "/ lib" meines JAR-Projekts zu platzieren (wie alle meine anderen Bibliotheken).

Hier ist meine Verbindung Anweisung, wo der Fehler ausgelöst wird:

conn = DriverManager.getConnection("jdbc:sqlite:" + QUICKNOTES_USER_DB_FILENAME); 

ich mehrere andere Lösungen für ähnliche Probleme gefunden zu haben, aber sie scheinen alle zu Fehlern werden, während das Programm zu entwickeln. Mein Problem ist nach der Bereitstellung.

Antwort

0

Kurze Antwort

den JDBC-lib auf die CLASSPATH hinzufügen.

Längere Antwort

in Java mindestens zwei CLASSPATHs sind, die Materie; der Klassenpfad für die Kompilierung und der Klassenpfad für die Laufzeit. Sie scheinen ein Problem mit dem Klassenpfad der Laufzeit zu haben.

Wenn Sie ein Glas, sind keine der Projektabhängigkeiten in das Artefakt (die JAR-Datei) enthalten. Sie benötigen weiterhin die Abhängigkeiten, wenn Sie versuchen, das jar auszuführen, , damit java nach ihnen auf dem Klassenpfad der Laufzeit sucht.

Stellen Sie sicher, dass die gewünschte JDBC-Lib im Klassenpfad der Laufzeit aufgelistet ist. Häufig bedeutet dies, dass Sie die CLASSPATH-Umgebungsvariable (entweder in der Anmeldeumgebung oder in einer Skriptdatei) bearbeiten müssen, um die gewünschte JAR-Datei (oder -Dateien) einzubeziehen.

Verwandte Themen