如何在中包含特定于平台的本机库。使用Eclipse的JAR文件?

 2023-01-20    317  

问题描述

我刚开始学习JNI.我一直在遵循一个简单的示例,并且创建了一个Java应用程序,该应用在本机库中调用Hello World方法.我想瞄准Win32和Linux X86.

我的库位于DLL中,当将DLL添加到我的Eclipse项目的根部时,我可以使用LoadLibrary称其为正常.
但是,我不知道如何使Eclipse导出一个可运行的JAR,其中包括DLL和Linux的.SO文件.

如何在中包含特定于平台的本机库。使用Eclipse的JAR文件?

所以我的问题基本上是;您将如何在Eclipse中创建一个项目,并包括同一本地库的几个版本?

谢谢,
马丁

推荐答案

对于可运行的罐子,您需要做的是提取到临时目录(也许在静态{}块中),然后从该目录中加载DLL(使用System.loadLibrary()在同一块中) .为此,您需要对Class Loader进行亚类和覆盖FindLibrary()方法,以允许在该目录中找到库.您可以在此处执行任何逻辑来加载特定平台库.老实说,无论如何,不​​同平台上图书馆的命名应该相似 – 我相信您在加载时省略了” lib’零件和扩展名.那就是它的要点.可能更易于使用另一条海报:)

其他推荐答案

您可能需要查看 one-jar 项目.它使您可以将您的应用程序及其依赖项(包括本机库)打包到一个JAR文件.

以上所述是小编给大家介绍的如何在中包含特定于平台的本机库。使用Eclipse的JAR文件?,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26142.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。