V2EX › Java
求教大佬,我现在需要打一个第三方调用的 jar 包,需要 jna 引入动态库,那么动态库文件如何配置?
By whajcf at 2019 年 12 月 17 日 · 4322 次点击求教大佬:
我需要制作一个 jar 包,给第三方调用,jar 主要功能是加解密,加解密算法写在动态库中,现在碰到的问题如下:
打包成 jar 包以后动态库就会加载失败,我需要如何配置后打包? 已经折腾一天了,试用了网上很多方法,一直没成功
我需要制作一个 jar 包,给第三方调用,jar 主要功能是加解密,加解密算法写在动态库中,现在碰到的问题如下:
打包成 jar 包以后动态库就会加载失败,我需要如何配置后打包? 已经折腾一天了,试用了网上很多方法,一直没成功
6 条回复 • 2019-12-18 10:45:03 +08:00
|
1
guyeu 2019 年 12 月 17 日
大佬教教我动态库是啥。。DDL 吗。。
|
|
2
pursuer 2019 年 12 月 17 日
通常方案,打包动态库,load 之前先从 jar 解压出来,或者和 jar 分开。应该也有一些从内存加载的方案,但要麻烦不少了
|
|
3
XiLemon 2019 年 12 月 18 日
JNA 可以修改加载动态链接库的路径啊
|
|
4
XiLemon 2019 年 12 月 18 日
启动应用的时候可以打开日志: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 |
|
6
quadrapop 2019 年 12 月 18 日
首先 dll 肯定是打包在 jar 包里的
在调用的时候,先获取项目的绝对路径,然后把 dll 复制到到项目的根路径,初始化 jna 的时候就使用复制后的路径就行 我自己的项目就是这么弄的 |