- Registriert
- März 2015
- Beiträge
- 236
Guten Abend,
ich versuche recht Verzweifelt eine Datenbankverbindung zu einer lokalen DB hinzubekommen.
Aus der IDE (Intellij) heraus funktioniert alles ohne Probleme.
Baue ich aber eine Jar, dann bekomme ich folgenden Stacktrace
In der build.gradle ist die Abhängigkeit
implementation 'org.xerial:sqlite-jdbc:3.36.0.3'
definiert.
Ich habe auch schon die Lösung
Class.forName("org.sqlite.JDBC");
versucht, aber es hilft nichts =/
Wenn ich in die gebaute Jar schaue, sehe ich das die Abhängigkeit mit hinzugefügt wurden ist.
Die Zeilen, wo die Exception geworfen wird sieht wie folgt aus;
Hat irgendwer noch eine Idee wo das Problem liegen könnte?
ich versuche recht Verzweifelt eine Datenbankverbindung zu einer lokalen DB hinzubekommen.
Aus der IDE (Intellij) heraus funktioniert alles ohne Probleme.
Baue ich aber eine Jar, dann bekomme ich folgenden Stacktrace
Exception in thread "main" java.lang.NoClassDefFoundError: org.sqlite.core.Nativ
eDB
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(
NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibra
ries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibra
ries.java:169)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:1789)
at java.base/java.lang.System.load(System.java:675)
at shadow.org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader
.java:299)
at shadow.org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJD
BCLoader.java:257)
at shadow.org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBC
Loader.java:366)
at shadow.org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:6
8)
at shadow.org.sqlite.core.NativeDB.load(NativeDB.java:63)
at shadow.org.sqlite.SQLiteConnection.open(SQLiteConnection.java:240)
at shadow.org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:61)
at shadow.org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:2
8)
at shadow.org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:2
1)
at shadow.org.sqlite.JDBC.createConnection(JDBC.java:115)
at shadow.org.sqlite.JDBC.connect(JDBC.java:90)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at database.Connect.connect(Connect.java:18)
at MultiBot.main(MultiBot.java:39)
Caused by: java.lang.ClassNotFoundException: org.sqlite.core.NativeDB
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinCla
ssLoader.java:822)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(C
lassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1111)
eDB
at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(
NativeLibraries.java:383)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibra
ries.java:227)
at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibra
ries.java:169)
at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:1789)
at java.base/java.lang.System.load(System.java:675)
at shadow.org.sqlite.SQLiteJDBCLoader.loadNativeLibrary(SQLiteJDBCLoader
.java:299)
at shadow.org.sqlite.SQLiteJDBCLoader.extractAndLoadLibraryFile(SQLiteJD
BCLoader.java:257)
at shadow.org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBC
Loader.java:366)
at shadow.org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:6
8)
at shadow.org.sqlite.core.NativeDB.load(NativeDB.java:63)
at shadow.org.sqlite.SQLiteConnection.open(SQLiteConnection.java:240)
at shadow.org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:61)
at shadow.org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:2
8)
at shadow.org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:2
1)
at shadow.org.sqlite.JDBC.createConnection(JDBC.java:115)
at shadow.org.sqlite.JDBC.connect(JDBC.java:90)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:677)
at java.sql/java.sql.DriverManager.getConnection(DriverManager.java:251)
at database.Connect.connect(Connect.java:18)
at MultiBot.main(MultiBot.java:39)
Caused by: java.lang.ClassNotFoundException: org.sqlite.core.NativeDB
at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinCla
ssLoader.java:822)
at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(C
lassLoaders.java:182)
at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:1111)
implementation 'org.xerial:sqlite-jdbc:3.36.0.3'
definiert.
Ich habe auch schon die Lösung
Class.forName("org.sqlite.JDBC");
versucht, aber es hilft nichts =/
Wenn ich in die gebaute Jar schaue, sehe ich das die Abhängigkeit mit hinzugefügt wurden ist.
Die Zeilen, wo die Exception geworfen wird sieht wie folgt aus;
Java:
Class.forName("org.sqlite.JDBC");
try {
// create a connection to the database
conn = DriverManager.getConnection(url);