java通过JNA访问DLL

本文介绍了在Java中使用JNA访问DLL时可能会遇到的常见错误,包括DLL与JDK版本匹配问题、加载路径设置、无效的Win32程序错误,以及如何打包和设置`jna.library.path`。详细步骤包括下载JNA库,设置Library目录,DLL存放方式,以及解决加载和调用DLL时的报错。最后,讨论了如何将JNA包打包进jar文件以避免运行时错误。
摘要由CSDN通过智能技术生成

Idea搭建springboot项目,通过JNA访问DLL

易错点

  1. dll和jdk版本(32位、64位)
  2. dll的加载路径(找不到指定模块)
  3. dll的格式(不是有效的win32程序)

步骤

  1. 下载jna包,存放在项目的一个自定义目录下,如lib
    同时下载jna-platform-5.9.0.jar,如果不下载该包,开发时没问题,但打包时会出现“程序包com.sun.jna不存在”,我的项目是这样@
    在这里插入图片描述

  2. 设置该目录为Library目录
    在这里插入图片描述

  3. 存放dll
    我使用JNA遇到的第一个错误就是“找不到指定的模块”,这个错误就和dll的存放有关。dll的存放有多种方式,我测试了两种:
    (1)将存放dll的目录设置为resource
    这样,在build的时候,dll就会被打包到target/classes目录,而该目录是jna加载dll的默认路径之一。
    在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值