我是新手与任何本地图书馆合作,这个问题可能看起来很愚蠢,所以请耐心等待。
我下载了LTI-CIVIL来捕获网络摄像头的视频输入。它要求我在Eclipse中创建一个库并指出本机文件的位置。
假设本机dll位于E:\files\lti-civil\src\native\ms(x86)
,我想将这些与jar文件一起添加,并创建一个可以发送给我的朋友的独立应用程序。
目前,我可以从Eclipse本身运行程序,因为它指向E:\blah_blah
,但在其他人的计算机上可能不是这样的
现在,我如何打包这些以便我可以独立应用?在Eclipse的src中创建一个文件夹并在那里添加文件夹或什么?
答案 0 :(得分:4)
看看这个question/answer。因为它涵盖了你想要做的事情。
只是为了覆盖那些答案所要做的就是在.jar中打包.dll。在项目中包含.jar。在运行之前,将它们解压缩到临时文件夹并告诉程序使用该位置。
要从Eclipse创建自包含JAR,请执行以下步骤。
右键单击您的项目,然后选择导出
在Java下选择Runnable JAR File
选择将所需的库提取到生成的JAR中
这将允许您发送一个独立的应用程序发送给您喜欢的人。
答案 1 :(得分:2)
DLL无法打包在jar文件中,因为Java无法从Windows上的存档文件加载DLL。一种可能性是分发包含Java程序(作为.jar)和DLL的内容,并在安装时解压缩。
热门选择包括:用户必须手动提取的ZIP文件,自解压ZIP文件或由InnoSetup生成的“设置”程序。
另一种可能性是将DLL打包在.jar文件中,让应用程序在启动时将其解压缩到例如临时目录中。
DLL在文件系统上后,您可以使用System.load
或System.loadLibrary
加载它。