1

在此处输入图像描述

这是我最终部署软件时要创建的目录结构。它是一个具有网络摄像头功能的 Java 聊天客户端,对于网络摄像头,我使用的是 LTI-CIVIL。

有人告诉我,我不能直接从 JAR 中使用 DLL,我必须将它们提取到某个地方。都很酷。但是,我无法理解的是如何让它发挥作用

LTI 在他们的网站上提供了大量的 zip 文件。如果您使用的是 Eclipse,则需要为本地库设置适当文件夹的路径。但是,这限制了我使用 Eclipse 并阻止我将 JAR 分发给我的朋友。显然,我现在必须指向该文件夹,并可能以编程方式加载文件

我是初学者,所以如果有人可以下载 LTI-CIVIL,请查看目录结构并让我知道如何实现我想要做的事情,那将不胜感激。AFAIK,对于我的 32 位 Windows,我需要指向native/win32-x86文件夹。

我想要做的是在内存中加载适当的文件,以便我可以提供网络摄像头设施。我想避免安装程序,只需提供具有上述目录结构的 zip 文件,以便人们可以从文件夹中提取、运行 jar 文件并开始聊天。

澄清:我正在尝试发送一个带有jar 文件而不是jar库。我知道从 jar 中提取和使用 dll 很困难

4

1 回答 1

3

我假设加载本机库(System.load)的不是您自己的代码,它们是由第三方jar(lti-civil)加载的。

LD_LIBRARY_PATH在这种情况下,您必须在 lti-civil 尝试加载本机库之前适当地设置环境变量。

任何一个:

由于您事先不知道确切的路径,因此在这两种情况下,您还必须找到本机库所在的正确路径。

如果库的路径相对于 jar/launcher 的路径,则查找可执行文件的当前路径:

然后,您可以假设库位于相对于此的路径(../native)中,只需计算路径(并可能将其扩展为绝对路径)。

计算绝对路径后,按照答案第一部分中的说明设置环境/系统属性。

于 2013-03-30T19:11:40.920 回答