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

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

- myapp/app.jar - myapp/lib/sqlite-jdbc-3.8.7.jar 

设备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) 

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

 java -classpath lib/sqlite-jdbc-3.8.7.jar -jar myapp.jar 

似乎应用程序找不到库。

 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) 

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

编辑:

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

  jdk1.8.0_06/jre/lib/ext 

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

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

如果您需要纯Java数据库,则可以采取其他选择 。

我相信你的命令行是错误的。 如果使用-jar,则忽略-classpath!

app.jar中的清单需要引用库,或者你需要像这样启动它:java -classpath lib / sqlite-jdbc-3.8.7.jar:myapp.jar name.of.MainClass