线程“main”中的异常java.lang.UnsatisfiedLinkError“

时间:2012-08-06 09:22:03

标签: java smartcard

当我运行智能卡读取程序时,会出现此异常。我的设备未连接。请帮帮我。

2 个答案:

答案 0 :(得分:10)

这意味着它无法加载您需要的共享库。这可能是因为。

  • 该库不在您的库路径中。
  • 图书馆没有正确的名称,例如LIBRARY必须是Unix上的libLIBRARY.so
  • 您无法执行该库。
  • 该库不适用于您的JVM的操作系统或位大小。例如64位JVM不会加载32位库。
  • 您的JRE安装不正确,无法加载其中一个库。
  • 您正在使用的共享库需要另一个您没有的共享库。
  • DLL未构建为JNI库或从JNA使用。

答案 1 :(得分:0)

我在使用System.loadLibrary时会得到这个,它将使用java.library.path资源。 由于loadLibrary不允许使用绝对路径,因此可以使用绝对路径和加载方法。

    System.load(HelloWorld.class.getResource("/dlls/HelloWorld.dll")
            .getPath());