java集成加密狗rockey-ARM,no Dongle_java.dll in java.library.path,Dongle.Dongle_Enum([B[I)I

1.加密狗软件使用api

本次集成加密狗引用api为32位的Dongle.java,引用类库文件为对应Dongle_java.dll:
在这里插入图片描述

2.集成java项目目录

加密狗在java项目的使用有其固定目录,取决于加密狗打包时候(不按照他们的目录放,读取不到),我们的包为src-main-java下,建立com.feitian.rockeyarm目录(注,这三个是一体的),Dongle.java放入此目录下:
在这里插入图片描述
Dongle_java.dll类库文件直接放入与src同级的项目下:
在这里插入图片描述
修改Dongle.java读取类库文件的静态代码块指向Dongle_java.dll(文件放的位置和此处读取的位置一致):
在这里插入图片描述
至此,基础环境搭建好了,根据加密狗提供商给的api进行调用。

3.开发常见异常

Exception in thread “main” java.lang.UnsatisfiedLinkError: no Dongle_java.dll in java.library.path

Exception in thread "main" java.lang.UnsatisfiedLinkError: no Dongle_java.dll in java.library.path

在这里插入图片描述异常提示为java环境未找到加密狗dll类库,可直接配置环境变量,可由于系统可能跑在客户电脑,不能总配置环境变量,所以想着获取文件所在全路径:
把dll文件直接放在项目跟目录下,与src同级,直接读取

System.load(System.getProperty("user.dir") + "//Dongle_java.dll");

正常读取:
在这里插入图片描述
Exception in thread “main” java.lang.UnsatisfiedLinkError: com.demo.util.Dongle.Dongle_Enum([B[I)I

Exception in thread "main" java.lang.UnsatisfiedLinkError: com.demo.util.Dongle.Dongle_Enum([B[I)I

这是由于Dongle.java类库文件未放置正确目录,加密狗类库打包时已经固定了目录,引用到项目里的目录需要和加密狗打包时目录一致
在这里插入图片描述我的加密狗目录为com.feitian.rockeyarm,放到固定目录后可正常读取:
在这里插入图片描述

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值