2

我是使用任何本地库的新手,这个问题可能看起来很愚蠢,所以请多多包涵。

我下载了 LTI-CIVIL 来捕获来自网络摄像头的视频输入。它要求我在 Eclipse 中创建一个库并指出本机文件的位置。

假设本机 dll 位于E:\files\lti-civil\src\native\ms(x86),我想将它们与 jar 文件一起添加,并制作一个可以发送给朋友的独立应用程序。

目前,我可以从 Eclipse 本身运行程序,E:\blah_blah但在其他人的计算机上可能不是这样

现在,我如何打包这些以便我可以制作一个独立的应用程序?我在 Eclipse 的 src 中创建一个文件夹并在那里添加文件夹还是什么?

4

2 回答 2

4

看看这个问题/答案。因为它涵盖了您正在尝试做的事情。

只是为了涵盖答案所说的是将.dll打包在.jar中。将该 .jar 包含在您的项目中。在运行之前,您将它们解压缩到临时文件夹并告诉您的程序使用该位置。

要从 Eclipse 制作一个自包含的 JAR,请执行以下步骤。

第1步

右键单击您的项目并选择导出

第2步

在 Java 下选择 Runnable JAR File

第 3 步

选择将所需库提取到生成的 JAR 中

这将允许您发送一个独立的应用程序发送给您喜欢的人。

于 2013-03-28T15:42:08.123 回答
2

DLL 无法打包到 jar 文件中,因为 Java 无法从 Windows 上的存档文件加载 DLL。一种可能性是分别分发包含 Java 程序(作为 .jar)和 DLL 的内容,并且在安装时提取两者。

流行的选择是:用户必须手动解压的 ZIP 文件、自解压的 ZIP 文件或由InnoSetup生成的“安装”程序。

另一种可能性是将 DLL 打包到 .jar 文件中,并让应用程序在启动时将其解压缩到一个临时目录中。

一旦 DLL 在文件系统上,您可以使用System.load或加载它System.loadLibrary

于 2013-03-28T15:26:48.997 回答