【发布时间】:2011-12-09 07:40:53
【问题描述】:
在我的 netbeans 桌面应用程序中,我在项目中保存了 Rxtx 的 .dll 文件。我可以为那些 .dll 文件设置库路径吗?
这是项目层次结构
项目名称
-
包装1
rxtx rxtxSerial.dll rxtxParall.dll package2
元信息
提前致谢。
【问题讨论】:
标签: java swing dll desktop-application
在我的 netbeans 桌面应用程序中,我在项目中保存了 Rxtx 的 .dll 文件。我可以为那些 .dll 文件设置库路径吗?
这是项目层次结构
项目名称
包装1
rxtx
rxtxSerial.dll
rxtxParall.dll
package2
元信息
提前致谢。
【问题讨论】:
标签: java swing dll desktop-application
当 java 代码加载本地库(通常通过System.load() 完成)时,此调用是对 OS 的本地调用。 DDL 的实际加载是由操作系统完成的(如果不是这样,请纠正我)。在这种情况下,操作系统将需要一个 确定路径 到要加载的 dll。如果 DLL 在某个 jar 文件中,则操作系统无法识别 jar 文件结构(它只能由 java 运行时解释),因此在 jar 中打包时不会找到这些文件。
仅举个例子,对于标准 JDK 发行版,所有类文件都打包在 rt.jar 文件中,而所有本机代码 DLL(套接字、awt 等)都位于单独的位置 (jre/bin)。所以我的建议是,创建两组文件一个 jar 和其他 DLL。创建一个 ZIP 存档。现在,如果有人需要使用它,必须解压缩,将 jar 保存在 classpath 中,将 DLLs 保存在 PATH 中。
【讨论】: