- 具体问题表现,参考
- https://quantum6.blog.csdn.net/article/details/121699459
- 三个解决方案
UOS将此加入白名单。UOS没有答应,吾搜索了一下apt,确实没有这个。
UOS要求我司提供一个材料说明。吾已将此要求转发。听起来靠谱?不靠谱,虽然是个十分钟就能搞定的事情,拖拖拉拉不知道什么时候能提供,一个月?
改源码。唯一方案,这个吾直接动手,三天内肯定就解决。
问题分析
为什么弹窗?因为sqlite-jdbc导出了文件。
sqlite-jdbc为什么要导出文件?sqlite-jdbc将native库从jar包中导出到文件,然后将此库加载。
解决办法
先把sqlite-jdbc的native库导出,存放在安装资源目录。这样可以作为资源打包到安装文件,安装后安装目录就有了。
修改SQLiteJDBCLoader.java:loadSQLiteNativeLibrary(),调用extractAndLoadLibraryFile()函数之前,加入判断:获取当前jdk运行路径;以此为基础定位到native库(软件自带jdk);如果存在库就加载返回,不存在就按照原来的继续。
这个方案保证了只是新增一个判断,不会对原有功能产生影响。