求教大佬,我现在需要打一个第三方调用的 jar 包,需要 jna 引入动态库,那么动态库文件如何配置?

2019-12-17 17:54:42 +08:00
 whajcf
求教大佬:
我需要制作一个 jar 包,给第三方调用,jar 主要功能是加解密,加解密算法写在动态库中,现在碰到的问题如下:
打包成 jar 包以后动态库就会加载失败,我需要如何配置后打包? 已经折腾一天了,试用了网上很多方法,一直没成功
3175 次点击
所在节点    Java
6 条回复
guyeu
2019-12-17 21:35:40 +08:00
大佬教教我动态库是啥。。DDL 吗。。
pursuer
2019-12-17 22:51:53 +08:00
通常方案,打包动态库,load 之前先从 jar 解压出来,或者和 jar 分开。应该也有一些从内存加载的方案,但要麻烦不少了
XiLemon
2019-12-18 08:38:50 +08:00
JNA 可以修改加载动态链接库的路径啊
XiLemon
2019-12-18 08:43:03 +08:00
启动应用的时候可以打开日志:System.setProperty("jna.debug_load", "true");
然后设置指定的路径:System.setProperty("jna.library.path", jnaLibPath);

具体的你可以看下文档: http://java-native-access.github.io/jna/4.5.2/javadoc/com/sun/jna/NativeLibrary.html
whajcf
2019-12-18 09:55:44 +08:00
@XiLemon 谢谢 我去尝试下 jar 被引用的时候 如何获取被引用的 jar 或 jar 包里类的目录的路径?
quadrapop
2019-12-18 10:45:03 +08:00
首先 dll 肯定是打包在 jar 包里的
在调用的时候,先获取项目的绝对路径,然后把 dll 复制到到项目的根路径,初始化 jna 的时候就使用复制后的路径就行
我自己的项目就是这么弄的

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/629892

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX