Exception in thread “main” Java lang.NoClassDefFoundError:org/sqlite/NativeDB
•
Java
I'm trying to run a simple SQLite example on the Mac I'm pretty sure the code works well on windows But not on the Mac I really appreciate it if someone can help me
The code runs in eclipse I added sqlite-jdbc 4-3.8 2-SNAPSHOT. Jar as an internal and external jar in the & project
public class Test1 { private static Connection c; private static String filepath = "/Users/zerocraft/Documents/workspace/sql_test/"; private static String sql; private static Statement query; public static void main(String[] args) { System.out.println("START"); try{ Class.forName("org.sqlite.JDBC"); System.out.println("START2"); c = DriverManager.getConnection("jdbc:sqlite:"+filepath+"projone.db"); System.out.println("START3"); } catch(Exception e){ e.printStackTrace(); } sql = "INSERT INTO table(date,time,client_id,run_id,latitude," + "longitude,bearing,speed,altitude,sensor_id,sensor_type," + "sensor_value,attribute)" + "VALUES ('A','B','C','D',1,2,3,4,'E','F','G','H')"; try{ query = c.createStatement(); query.executeUpdate(sql); query.close(); } catch(sqlException el){el.printStackTrace();} } }
Comfort##
START START2 Exception in thread "main" java.lang.NoClassDefFoundError: org/sqlite/NativeDB at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary1(ClassLoader.java:1965) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1890) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1851) at java.lang.Runtime.load0(Runtime.java:795) at java.lang.System.load(System.java:1062) at org.sqlite.sqliteJDBCLoader.loadNativeLibrary(sqliteJDBCLoader.java:200) at org.sqlite.sqliteJDBCLoader.extractAndLoadLibraryFile(sqliteJDBCLoader.java:148) at org.sqlite.sqliteJDBCLoader.loadsqliteNativeLibrary(sqliteJDBCLoader.java:249) at org.sqlite.sqliteJDBCLoader.initialize(sqliteJDBCLoader.java:65) at org.sqlite.core.NativeDB.load(NativeDB.java:53) at org.sqlite.core.CoreConnection.open(CoreConnection.java:136) at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:66) at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:21) at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:23) at org.sqlite.sqliteConnection.<init>(sqliteConnection.java:44) at org.sqlite.JDBC.createConnection(JDBC.java:113) at org.sqlite.JDBC.connect(JDBC.java:87) at java.sql.DriverManager.getConnection(DriverManager.java:571) at java.sql.DriverManager.getConnection(DriverManager.java:233) at sql_test.Test1.main(Test1.java:22) Caused by: java.lang.ClassNotFoundException: org.sqlite.NativeDB at java.net.urlclassloader$1.run(urlclassloader.java:366) at java.net.urlclassloader$1.run(urlclassloader.java:355) at java.security.AccessController.doPrivileged(Native Method) at java.net.urlclassloader.findClass(urlclassloader.java:354) at java.lang.ClassLoader.loadClass(ClassLoader.java:425) at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308) at java.lang.ClassLoader.loadClass(ClassLoader.java:358) ... 21 more
Solution
Finally, I figured out how to make it work I tried another jar (sqlite-jdbc-3.7.2. Jar) for Mac Looks like sqlite-jdbc 4-3.8 2-SNAPSHOT. jar. @ Ddevienne, maybe 3.8 2 does not support Mac OS
The content of this article comes from the network collection of netizens. It is used as a learning reference. The copyright belongs to the original author.
THE END
二维码