我有一个使用 JMF 的 Eclipse 项目,我发现我可以跳过 JMF 安装过程,仍然使用 JMF 的 CaptureDeviceManager,并且如果我可以将我的项目指向 JMF 的本机库,则可以接收设备列表JMF.
我已成功将本机库添加到 IDE 运行/调试中,但是一旦我将应用程序导出到外部可运行 Jar,应用程序就无法找到本机库。
文件位于 c:\JMF*.dll
我尝试将文件夹路径添加到 Windows 中的环境变量中 - 没有成功。
我尝试将它们添加到另一个 Jar 中并将其添加到项目中 - 没有成功。
我尝试将文件添加到项目中 - 没有成功。
我尝试将路径添加到类路径 - 没有成功。
我尝试将路径添加到库路径 - 没有成功。
有人有什么解决办法吗?
提前致谢, 亚当。
你可以看看这个: 如何使用 JMF 捕获视频,但无需安装 JMF
它可能正在做你需要的事情。
FWIW,过去几年我一直在使用 JOGL 图形库。它将 dll 捆绑到 jar 中,然后 eclipse 在执行项目以及将项目导出为可运行的 jar 时使用这些 jar。不确定他们在做什么,但它与 eclipse 以及 JDotSoft jar-in-jar 类加载器一起工作得很好。
最近我尝试将 Phidget 的另一个库捆绑到项目中。我可以将 jar 及其 dll 包含在 eclipse 中,并从 eclipse 内部很好地执行该应用程序。但是,当我将项目导出为可执行 jar 时,生成的 jar 中不包含 dll,当然,jar 无法运行,因为它找不到 dll。在这种情况下,它找到 JOGL dll,但找不到 Phidget dll,即使我在 eclipse 中使用相同的机制将 dll 与其各自的 jar 关联起来。
在第二种情况下,我尝试手动将 dll 添加到导出的 jar 中,但这不起作用(可能是因为 Phidget 加载其库的方式)。
我怀疑这可能是 Eclipse 中的一个错误,并计划将其作为一个错误提交,除非其他人可以更深入地了解本机库有时不会被 Eclipse 导出到可执行 jar 的问题。