JAVA中通过JNA动态加载.dll文件

通过JNA动态加载.dll文件

错误现象

eclipse启动项目的时候提示下列错误消息,并销毁了容器
java.lang.UnsatisfiedLinkError: Unable to load library 'ping64r.dll': 找不到指定的模块

eclipse中调用.dll文件的代码

如下图所示,通过jna中的方法来加载.dll文件
package net.common.util;
import com.sun.jna.Library;
import com.sun.jna.Native;
public interface PingDLL extends Library {
		//TextSizeDLL instanceDll= (TextSizeDLL)Native.loadLibrary("TextSize",TextSizeDLL.class); 
		//TextSize.dll 文件在dll文件包中
		PingDLL instanceDll= (PingDLL)Native.loadLibrary("ping64r.dll",PingDLL.class); 
		public int ping_init();
		public int ping_uninit();
		public int ping_ip(String strIp);
		//参数 strip:ip-ip-ip state:int数组,长度最少是ip的个数
		//返回 到state
		public boolean ping_querystate(String strip, int[] state);
}

处理方法

因为在eclipse中启动和直接启动tomcat是不同的,所以下面针对两种环境分别说明

eclipse中的处理方法

1.查看dll文件的JDK位数是32位还是64位,需要与项目的JDK版本保持一致
2.dll文件默认其实是放在java.libarary.path下面,所以可以将需要的dll文件发到
C:\Program Files\Java\jdk1.8.0_191\jre\bin路径下,每个人的eclipse中配置的路径不一样,具体可以通过一下方法查看:
首先选择项目右击,选择build path,选择右侧的Libraries,找到 JRE System library并选中,然后点击旁边的Edit按钮,进入编辑页面,选中本地的JDK路径,然后将对应的dll文件放到JDK/JRE/Bin中,图解如下
在这里插入图片描述
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值