Java错误 - 在java.library.path中找不到库?

时间:2011-08-25 19:01:34

标签: java windows path

我收到如下错误消息:

  

Windows无法加载库 libraryname .dll。使   确保库在您的Path环境变量中。例外   在线程“main”java.lang.UnsatifiedLinkError中:没有 libraryname   的java.library.path。

此错误来自于我尝试通过cmd在Windows XP上运行jar文件。我想知道,java.library.path究竟在哪里?我已经将C:\ Program Files \ Java \ jdk1.6.0_26添加到我的PATH中,但它仍然给我错误。你会如何调试这个?

感谢。

2 个答案:

答案 0 :(得分:7)

您只需将java.library.path作为系统属性传递,如下所示:

java -Djava.library.path=<path_to_dll> <main_class>

首先,您需要找出libraryname.dll的位置,并将其添加到“path_to_dll”中。

答案 1 :(得分:3)

该错误基本上是说无法找到您的本机库。 Java试图通过查看java.library.path属性

来定位您的库

这是您需要的系统环境,因此Java可以在您运行应用程序时找到您的本机库。有几种方法可以做到:

  • 运行程序时使用java -Djava.library.path = [库的路径]
  • 您也可以使用代码。

    
    System.setProperty( "java.library.path", "/path/to/libs" );
    
  • 从IDE设置它。可以在此SO问题How to set java.library.path from eclipse

  • 中找到Eclipse的示例

编辑:下面的一条好评论指出#2不能100%工作,因为你可能在调用getProperty()之前没有设置它。错过了这一点,并感谢你指出这一点。