一身转战三千里,一剑曾当百万师。这篇文章主要讲述不通过执行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)
【不通过执行Java Applikation在ARM上加载JDBC库】直到现在我都找不到解决方案。可以将.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数据库,你可能需要另一个qazxsw poi。
另一答案我相信你的命令行是错误的。如果使用-jar,则忽略-classpath!
app.jar中的清单需要引用库,或者你需要像这样启动它:java -classpath lib / sqlite-jdbc-3.8.7.jar:myapp.jar name.of.MainClass
推荐阅读
- 使用与Android库提供的/ compileOnly依赖项
- Android Library Gradle发布JAR
- 项目已包含具有此名称的模块 - Android Studio
- javax.faces.application.ViewExpiredException(无法恢复视图)
- 使用android AudioRecord获得32位样本吗()
- 使用从Jackson创建的对象在Android上使用OrmLite保存子集合
- Doctrine异常 - [DoctrineORMMappingMappingException]
- 如何更改UWP app文件夹名称或路径()
- 是否可以在没有管理员权限的情况下安装.appxbundle(UWP / XAML应用程序)()