我收到如下错误消息:
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中,但它仍然给我错误。你会如何调试这个?
感谢。
答案 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可以在您运行应用程序时找到您的本机库。有几种方法可以做到:
您也可以使用代码。
System.setProperty( "java.library.path", "/path/to/libs" );
从IDE设置它。可以在此SO问题How to set java.library.path from eclipse
编辑:下面的一条好评论指出#2不能100%工作,因为你可能在调用getProperty()之前没有设置它。错过了这一点,并感谢你指出这一点。