通过执行Java应用程序不会在ARM上加载JDBC库 [英] Does not load JDBC Library on ARM by execute Java Application

查看:61
本文介绍了通过执行Java应用程序不会在ARM上加载JDBC库的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我们有一个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屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆