全网首发:sqlite-jdbc在UOS上弹窗提示的解决办法

简介: 全网首发:sqlite-jdbc在UOS上弹窗提示的解决办法

具体问题表现,参考

uos的安全检测:sqlite-jdbc访问/tmp目录的提示_柳鲲鹏-CSDN博客


三个解决方案

UOS将此加入白名单。UOS没有答应,吾搜索了一下apt,确实没有这个。


UOS要求我司提供一个材料说明。吾已将此要求转发。听起来靠谱?不靠谱,虽然是个十分钟就能搞定的事情,拖拖拉拉不知道什么时候能提供,一个月?


改源码。唯一方案,这个吾直接动手,三天内肯定就解决。


问题分析

为什么弹窗?因为sqlite-jdbc导出了文件。


sqlite-jdbc为什么要导出文件?sqlite-jdbc将native库从jar包中导出到文件,然后将此库加载。


解决办法

先把sqlite-jdbc的native库导出,存放在安装资源目录。这样可以作为资源打包到安装文件,安装后安装目录就有了。


修改SQLiteJDBCLoader.java:loadSQLiteNativeLibrary(),调用extractAndLoadLibraryFile()函数之前,加入判断:获取当前jdk运行路径;以此为基础定位到native库(软件自带jdk);如果存在库就加载返回,不存在就按照原来的继续。


这个方案保证了只是新增一个判断,不会对原有功能产生影响。

目录
相关文章
|
Java 数据库连接 Spring
Spring JPA无法提交jdbc事务的解决办法
Spring JPA无法提交jdbc事务的解决办法
Spring JPA无法提交jdbc事务的解决办法
|
Java
全网首发:sqlite-jdbc在UOS上弹窗提示的解决办法
全网首发:sqlite-jdbc在UOS上弹窗提示的解决办法
102 0
|
SQL 关系型数据库 MySQL
mysql 高版本jdbc驱动程序使用PreparedStatement.setBinaryStream方法报错及解决办法
mysql 高于版本jdbc驱动程序 使用PreparedStatement.setBinaryStream方法报错及解决办法。 mysql 使用以下版本驱动程序 在PreparedStatement中执行setBinaryStream方法时报错误: mysql-connector-java-5.
1510 0
|
MySQL 关系型数据库 Linux
com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure 解决办法
09:00:30.307 [http-8080-6] ERROR org.hibernate.transaction.JDBCTransaction -JDBC begin failed com.mysql.jdbc.exceptions.jdbc4.CommunicationsException: Communications link failure The last packet
15003 0