java - 代号一&SQLite连续测试&收到java.lang.UnsatisfiedLinkError org.sqlite.NativeDB._open(Ljava/lang/String;I)V异常

标签 java sqlite codenameone

我正在尝试使用代号 1 运行连续测试。

第一个测试打开模拟器并访问 sqlite 数据库并返回 true 并关闭该模拟器。下一个测试打开另一个模拟器并运行该测试,但这个模拟器不访问数据库,所以我假设为什么该测试也返回 true。

然而,第三个测试确实访问了数据库,这就是异常发生的地方。

 [java] [EDT] 0:0:0,949 - Exception: java.lang.UnsatisfiedLinkError - org.sqlite.NativeDB._open(Ljava/lang/String;I)V
 [java] java.lang.UnsatisfiedLinkError: Native Library C:\Users\cocoa\AppData\Local\Temp\sqlite-3.7.151-amd64-sqlitejdbc.dll already loaded in another classloader
 [java] java.lang.UnsatisfiedLinkError: org.sqlite.NativeDB._open(Ljava/lang/String;I)V

我四处搜索,我假设它正在发生,因为 .dll 没有被卸载并且测试正在尝试再次加载它。是否有卸载 .dll 的方法或解决方法,以便连续测试工作?

我正在使用 sqlite-jdbc-3.23.1.jar(最新版本)

最佳答案

这是此处提到的一个已知问题:https://github.com/codenameone/CodenameOne/issues/2175

不幸的是,我们修复它的尝试失败了。这是确切的原因。 SQLite 插件不能很好地与类加载器一起使用。

关于java - 代号一&SQLite连续测试&收到java.lang.UnsatisfiedLinkError org.sqlite.NativeDB._open(Ljava/lang/String;I)V异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54121275/

相关文章:

Java JTextField 窗口大小

android - SQLiteLog :(1) no such table: tableName. db (sqlite with android)

codenameone - 从特定的代码名称表单中删除 TitleArea

android - 代号一 : receive sms on Android by native code

java - JSP 中调用 session 属性

java - 通过Java Config更改Springboot Actuator服务管理端口

java - Java 中 java Files.lines 和 Files.newBufferedReader().lines 之间的实际区别是什么?

SQLite 比较两列

SQLite - 在 SELECT INTO 语句上生成 GUID/UUID

testing - CodenameOne TestRecorder 如何运行测试