设置jar文件中的dll的库路径

时间:2011-12-09 07:40:54

标签: java swing dll desktop-application

在我的netbeans桌面应用程序中,我将Rxtx的.dll文件保存在项目中。我可以为那些.dll文件设置库路径。

这是项目层次结构

PROJECTNAME

  • pacakge1

     rxtx
              rxtxSerial.dll
              rxtxParall.dll
    
  • 包2

  • META-INF

提前致谢。

1 个答案:

答案 0 :(得分:4)

当java代码加载本机库(通常通过System.load()完成)时,此调用是对OS的本机调用。 DDL的实际加载是由OS完成的(如果不是这样,请纠正我)。在这种情况下,操作系统需要确定路径才能加载dll。如果DLL在某个jar文件中,操作系统无法识别jar文件结构(它只能由java运行时解释),因此在jar中打包时不会找到这些文件。

举个例子,对于标准JDK发行版,所有类文件都打包在rt.jar文件中,而所有本机代码DLL(套接字,awt等)都位于不同的位置(jre/bin )。所以我的建议是,创建一组文件,一个jar和其他DLL。创建ZIP存档。现在,如果有人需要使用它,必须解压缩,将jar保存在类路径中,并将DLL保存在PATH中。