运行.jar的alljoyn项目的UnsatisfiedLinkError,在Eclipse中运行时没有错误

时间:2016-06-08 14:44:36

标签: alljoyn

我正在创建一个简单的Alljoyn java应用程序来发送和响应一些信号。当我在Eclipse中运行代码(在Win7上)它运行正常。但是,当我将其导出为可运行的jar文件并尝试运行时,我收到以下错误

Exception in thread "main" java.lang.UnsatisfiedLinkError: no alljoyn_java in java.library.path

调用执行以下代码时会触发异常:

static {  System.loadLibrary("alljoyn_java");}

我已将项目的构建路径配置为使用外部jar alljoyn_java,并将该库的Native库位置设置为alljoyn_java.dll文件的父目录。

3 个答案:

答案 0 :(得分:0)

您必须将文件alljoyn_java.dllalljoyn_java.liballjoyn_java.exp放在jar文件的同一目录中。

然后,使用以下命令运行jar:

java -jar -Djava.library.path=. [your-jar-file.jar]

答案 1 :(得分:0)

JVM在 java.library.path 中指定的路径(如上面的答案中所述)和/或在环境变量 LD_LIBRARY_PATH 中指定的路径中查找本机库。使用上面注释中提到的命令或将包含库的目录路径添加到环境变量LD_LIBRARY_PATH。

export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<<path_of_dir_containing_lib>>
java -jar <<your_jar_file>>

答案 2 :(得分:0)

所以我最终做的是下载jarsplice并使用它来添加本机库之后我从Eclipse导出项目为.jar