不通过执行Java Applikation在ARM上加载JDBC库

use*_*194 11 java sqlite jar jdbc classpath

好的我们在带有外部Sqlite驱动程序库的unix主目录中有一个Java应用程序"app.jar".

- myapp/app.jar
- myapp/lib/sqlite-jdbc-3.8.7.jar
Run Code Online (Sandbox Code Playgroud)

设备Udoo ARM Cortex V9与Raspberry Pi相似.

java -version
java version "1.8.0_06
Java(TM) SE Runtime Environment (build 1.8.0_06-b23)
Java HotSpot(TM) Client VM (build 25.6-b23, mixed mode)
Run Code Online (Sandbox Code Playgroud)

尝试运行此应用程序失败.

java -classpath lib/sqlite-jdbc-3.8.7.jar -jar myapp.jar
Run Code Online (Sandbox Code Playgroud)

似乎应用程序找不到库.

java.lang.Exception: No native library is found for os.name=Linux and os.arch=arm
at org.sqlite.SQLiteJDBCLoader.loadSQLiteNativeLibrary(SQLiteJDBCLoader.java:284)
at org.sqlite.SQLiteJDBCLoader.initialize(SQLiteJDBCLoader.java:65)
Run Code Online (Sandbox Code Playgroud)

直到现在我都找不到解决方案.可以将.jar文件复制到jdk/lib文件夹吗?

编辑:

现在我尝试将sqlite-jdbc-3.7.2.jar添加到JRE中并且它可以正常工作.

 jdk1.8.0_06/jre/lib/ext
Run Code Online (Sandbox Code Playgroud)

较新版本sqlite-jdbc-3.8.7.jar不起作用.

rem*_*pod 1

我将3.8.7版和3.7.2版中的 SQLiteJDBCLoader 代码进行了比较,并发现了一些见解。3.7.2似乎有纯java模式,而3.8.7中缺少相应的代码。根据我的一点知识和对下载页面的快速浏览,我得出结论,需要一个适用于目标平台的本机库。我找不到 ARM 的下载。

如果你需要一个纯java数据库,你可能会采取另一种选择