Java项目使用SQLite数据库后无法启动的问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了Java项目使用SQLite数据库后无法启动的问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3195字,纯文字阅读大概需要5分钟。
内容图文
![Java项目使用SQLite数据库后无法启动的问题](/upload/InfoBanner/zyjiaocheng/490/48da83d2b6584c969f006baefed2cd1a.jpg)
背景:
Java > maven 的 jar 项目
功能是记录用户的每天的按键次数
使用 jar2exe 工具将 jar 转为 exe 可执行文件
原本项目中使用的Mysql数据库,使用Mybatis工具操作运行没有问题
后来发现对于一个小工具来说,用Mysql太麻烦,因为需要安装配置Mysql等等.
于是我上网查了查,找到了一个轻量级的嵌入式数据库SQLite
导入一个 org.xerial > sqlite-jdbc jar 包,直接就可以创建数据库文件了十分方便
当时用的 jar 是最新的版本 3.20.0
费了一天的劲,将之前的持久层代码从Mysql替换成了SQLite
问题介绍:
在编辑器内运行良好
编译成 jar 后,使用 java -jar ***.jar 运行良好
当我把 jar 用 jar2exe 转成 exe 运行文件后, 它就报错了
错误信息如下:
java.sql.SQLException: Error opening connection at org.sqlite.core.CoreConnection.open(CoreConnection.java:215) at org.sqlite.core.CoreConnection.<init>(CoreConnection.java:76) at org.sqlite.jdbc3.JDBC3Connection.<init>(JDBC3Connection.java:26) at org.sqlite.jdbc4.JDBC4Connection.<init>(JDBC4Connection.java:24) at org.sqlite.SQLiteConnection.<init>(SQLiteConnection.java:45) at org.sqlite.JDBC.createConnection(JDBC.java:114) at org.sqlite.JDBC.connect(JDBC.java:88) at com.mchange.v2.c3p0.DriverManagerDataSource.getConnection(DriverManagerDataSource.java:119) at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:143) at com.mchange.v2.c3p0.WrapperConnectionPoolDataSource.getPooledConnection(WrapperConnectionPoolDataSource.java:132) at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.initializeAutomaticTestTable(C3P0PooledConnectionPoolManager.java:772) at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.createPooledConnectionPool(C3P0PooledConnectionPoolManager.java:696) at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:257) at com.mchange.v2.c3p0.impl.C3P0PooledConnectionPoolManager.getPool(C3P0PooledConnectionPoolManager.java:271) at com.mchange.v2.c3p0.impl.AbstractPoolBackedDataSource.getConnection(AbstractPoolBackedDataSource.java:128) at com.play.util.SQLiteUtil.openConnection(SQLiteUtil.java:56) at com.play.base.BaseDaoImpl.execute(BaseDaoImpl.java:54) at com.play.dao.impl.KeyRecordDayDaoImpl.add(KeyRecordDayDaoImpl.java:22) at com.play.DataManager.addToDayRecord(DataManager.java:75) at com.play.DataManager.addBeat(DataManager.java:58) at com.play.DataManager.lambda$new$0(DataManager.java:32) at java.lang.Thread.run(Thread.java:748) Caused by: java.lang.NullPointerException at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:315) at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:64) at org.sqlite.core.NativeDB.load(NativeDB.java:56) at org.sqlite.core.CoreConnection.open(CoreConnection.java:211) ... 21 more
很伤脑筋,上网查了半天没有查到相关问题
最终FQ到谷歌上搜索了一番
找到了一个类似的问题,全是英文,具体没看太懂
但是里面提到了 sqlite-jdbc jar 版本的问题.
于是我抱着试试看的心态
将版本改成了 3.8.11.2
编译完成 > 转 exe 完成 > 运行成功> 问题解决!
Java项目使用SQLite数据库后无法启动的问题
标签:drive str nat nec l数据库 cut 信息 beat c3p0
本文系统来源:http://www.cnblogs.com/imyjy/p/7419320.html
内容总结
以上是互联网集市为您收集整理的Java项目使用SQLite数据库后无法启动的问题全部内容,希望文章能够帮你解决Java项目使用SQLite数据库后无法启动的问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。