UnsatisfiedLinkError无法加载库

时间:2014-03-06 08:15:33

标签: java exception unsatisfiedlinkerror

我正在使用Proycon将.class反编译为.java,在我的库目录中包含jd-core-java-1.0.jar文件,但是当我编译Main类时会抛出异常

Exception in thread "main" java.lang.UnsatisfiedLinkError: 
Can't load library: D:\apps\dvlpr\lib/libjd-intellij.so

print System.getProperty(“java.library.path”); 它的结果是

C:\Program Files\Java\jdk1.7.0_01\bin;
C:\Windows\Sun\Java\bin;
C:\Windows\system32;
C:\Windows;
C:\Program Files (x86)\PC Connectivity Solution\;
C:\Python33\;
C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Windows\system32;
C:\Windows;C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files (x86)\Windows Live\Shared;
C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\;
C:\Program Files (x86)\Toshiba\Bluetooth Toshiba Stack\sys\x64\;
C:\Program Files\nodejs\;
C:\Program Files (x86)\Tesseract-OCR;
C:\Program Files\Java\jdk1.7.0_01\bin;
C:\Users\Shajeer\AppData\Roaming\npm;.

我尝试了很多方法,比如设置类路径......但是都没有用。有人请告诉我一个好的方法。

我正在使用NetBeans 7.4 IDE

2 个答案:

答案 0 :(得分:2)

根据评论中提供的链接, JD-Core-java 是Java Decompiler的瘦包装器,支持IntelliJ IDE插件。 Java Decompiler本身支持:

  • Linux 32/64位
  • Windows 32/64位
  • x86硬件上的Mac OSX 32/64位

但是 JD-Core-java 包装器目前仅支持Linux 64位

您有两种选择:

  • 联系作者并要求提供Windows版本
  • 从bitbucket中提取源并将本机代码移植到Windows以构建Windows DLL(并将其发送回作者以包含在将来的版本中)

答案 1 :(得分:1)

您需要做的就是在jd-core-java.jar文件中将jd-intellij.dll重命名为libjd-intellij.dll。 (在META-INF \ nativelib \ win32 \ x86_64中)。