通过执行Java应用程序不会在ARM上加载JDBC库 [英] Does not load JDBC Library on ARM by execute Java Application
问题描述
我们有一个Java应用程序"app.jar",在带有外部Sqlite驱动程序库的unix主目录中.
We have a Java-application "app.jar" in a unix home directory with a external Sqlite Driver Library.
- myapp/app.jar
- myapp/lib/sqlite-jdbc-3.8.7.jar
类似于Raspberry Pi的设备Udoo ARM Cortex V9.
Device Udoo ARM Cortex V9 simliar to 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)
尝试运行此应用程序失败.
Try to run this application failed.
java -classpath lib/sqlite-jdbc-3.8.7.jar -jar myapp.jar
应用程序似乎找不到库.
It seems that the Application cannot find the Library.
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文件夹吗?
I can't find a solution until now. It is possible to copy the .jar File to the jdk/lib folder?
现在,我尝试将sqlite-jdbc-3.7.2.jar添加到JRE中,并且它可以正常工作.
Now I tried to add the sqlite-jdbc-3.7.2.jar to the JRE and it works.
jdk1.8.0_06/jre/lib/ext
较新版本的sqlite-jdbc-3.8.7.jar无法正常工作.
The newer version sqlite-jdbc-3.8.7.jar does not work.
推荐答案
我认为您的命令行错误.如果使用-jar,则-classpath会被忽略!
I believe your command line is wrong. If you use -jar, then the -classpath is ignored!
app.jar中的清单需要引用该库,或者您需要像这样启动它:java -classpath lib/sqlite-jdbc-3.8.7.jar:myapp.jar name.of.MainClass
Either the manifest in app.jar needs to refer to the library, or you need to start it like this: java -classpath lib/sqlite-jdbc-3.8.7.jar:myapp.jar name.of.MainClass
这篇关于通过执行Java应用程序不会在ARM上加载JDBC库的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!