0
When i'm trying to load the .so file from the Java, i'm getting error like this.

Exception in thread "main" java.lang.UnsatisfiedLinkError: no yeslib.so in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1681)
    at java.lang.Runtime.loadLibrary0(Runtime.java:840)
    at java.lang.System.loadLibrary(System.java:1047)
    at com.rct.micros.util.GetCustClass.getScratchCode(GetCustClass.java:76)
    at com.rct.micros.util.GetCustClass.main(GetCustClass.java:39)

我已经尝试过 System.load(absoulte path) 和 System.loadLibrary(sofilename)。两者都给出了相同的错误。当我将此so文件复制到usr/lib/jvm包中时,它正在工作..

任何人都可以帮助如何使用Java解决这个问题。我在linux盒子上运行。

4

1 回答 1

0

该库可能在​​您的路径上,但由于其他原因无法加载。

我用来调试此类问题的一个技巧是运行 java -Xrunsofilename

-Xrun 是加载 JVMPI 库(旧的分析接口)的 JVM 选项。如果成功,它将加载库并抱怨它不是代理库。但如果它失败(希望如此!)它会打印一条错误消息。这通常是比您从 UnsatisfiedLinkError 获得的更具描述性的错误消息。

于 2013-09-26T22:09:58.450 回答