java jna java.lang.UnsatisfiedLinkError: Unable to load library Native library (win32-x86-64/C:\User

java.lang.UnsatisfiedLinkError: Unable to load library ‘D:\dll\DwgOperInterface‘: 找不到指定的模块 执行代码 import com.sun.jna.Library; import com.sun.jna.Native; import com.sun.jna.ptr.IntByReference; public interface JNADll extends Library { //dll的绝对文件路径 JNADll dll = Native.load("D:\\dll\\DwgOperInterface", JNADll.class); //获取图层 DwgLay 阅读详情

背景

在新装的win系统下,java项目人脸识别项目要调用动态库,下面就说说问题

问题

Exception in thread “main” java.lang.UnsatisfiedLinkError: Unable to load library ‘C:\xxx\xxx\xxx\xxx.dll’: Native library (win32-x86-64/C:\xxx\xxx\xxx\xxx.dll) not found in resource path

我是拷贝git issues上的,因为当时我没记录这些错误。这错误大概就长这样,花费了我一天半时间。
在这个过程也了解了很多java jna的知识。

当时的分析

当时就觉得路径不对导致加载不到dll,所以通过jna.class.path,设置动态库的环境路径来加载,以及使用开启jna调试模式看日志。但是最终还是不行,我尝试过配置环境变量、开启jna调试、升级jna版本为5.4.0、断点调试、在调试的时候我都怀疑是不是Native.load是不是对win路径的写法有特殊要求。都不行!还有jre运行与系统位数不对等解决方法。
但是现象很奇怪的我的有个idea项目是可以运行的,独立打包出来就不行,我就开始怀疑java启动参数、环境变量是不是有问题。但是最终所有办法都试了就是不行。
最后在我无意的时候,在github的issues上看到了类似的问题。
https://github.com/java-native-access/jna/issues/725
里面有个国外小哥说
Please check that you have the Visual C++ Runtime 2010 64bit installed.
我心里

正确解决java.lang.UnsatisfiedLinkError异常的有效解决方法 阅读详情

相关推荐

FPGA实战:从零构建eMMC控制器(Verilog篇)

本文详细介绍了如何使用Verilog从零构建FPGA上的eMMC控制器,涵盖eMMC接口基础、命令系统解析、关键模块设计及性能优化技巧。通过实战案例,帮助开发者掌握高速数据存储解决方案,提升嵌入式系统开发能力。

weixin_26802933的博客 296

[工具使用]黑暗引擎FOFA

黑暗引擎FOFAFOFA(点我进入)逻辑运算符搜索子域名domain搜索指定内容的host全部域名bodycert搜索选定应用的网站搜索指定开放端口的IP搜索指定协议的IP搜索IP或者网段的信息搜索指定CSS/JS网站常用的一些内容其他 FOFA(点我进入) 官网这样描述:FOFA是白帽汇推出的一款网络空间资产搜索引擎。它能够帮助用户迅速进行网络资产匹配、加快后续工作进程。例如进行漏洞影响范围分析、应用分布统计、应用流行度排名统计等。 简单理解就是,一个本土加强版shodan,知道某产品在互联网的部署情况、

网络安全知识分享 3万+

基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战解析

本文详细解析了基于ROS2 Humble与Livox Mid-360的双雷达点云融合实战方案。从环境搭建、驱动安装、双雷达配置、外参标定、时间同步到点云融合核心实现,全面介绍了技术要点与避坑指南,并提供了工程化部署与性能优化建议,助力开发者高效实现高精度点云合成应用。

ss78901的博客 1093

全网唯一OpenCyphal/UAVCAN教程(8)libcanard介绍

当Cyphal里,这个结构体代表一条完整的Cyphal消息,之后我们会根据metadata里提供的元信息,其实就是消息ID,调用对应的反序列化函数,将payload还原成具体的Cyphal消息。用于构造一个新的发送队列,原则上一个can物理接口需要分配一个发送队列,如果它们的MTU大小一致,是可以共用一条的。这个库不包含IO层,是平台无关的,意义是没有实现具体的数据收发,仅提供将发送出去的Cyphal消息转成can帧,以及将收到的can帧转成Cyphal消息。返回值是这条消息拆解成的can帧的数目。....

二进制君 2404

OpenClaw赚钱实录:从“养龙虾“到可持续变现的实践指南

OpenClaw已经开源3个月有余,作为深耕AI Agent领域的博主,我亲身探索了各种基于OpenClaw的赚钱方法,也踩过坑、付出了时间与精力。现在,我将这些真金白银砸出来的实战经验,毫无保留地总结成这个专栏,分享给不想从零开始摸索的你。博主在优快云已有7万+粉丝和1100万+阅读量,但这却是我的第一个付费专栏。正因如此,我比任何人都更珍惜这个“第一次”。我会像一个手艺人打磨作品一样,死磕每一篇文章的质量,并持续根据订阅者的反馈优化内容。也许你的疑问就是当篇文章的优化点。

冯·诺依曼 2437

详解FreeRTOS:事件标志组(高级篇—5)

事件组可以实现一对多,多对多的同步,即一个任务可以等待多个事件的发生。任务可以通过设置事件位来实现事件的触发和等待操作,FreeRTOS的事件仅用于同步,不提供数据传输功能。

不脱发的程序猿 1073

基于CANopen协议,实现机器人500-1000Hz高频控制(附实操实例) (1)

基于CANopen协议实现机器人500-1000Hz高频控制,核心不是“协议本身的性能极限”,而是“通过优化配置、硬件适配、软件调优,最大化发挥协议的实时性优势”。关键在于:以PDO为核心实现实时数据传输,以SYNC帧锁定高频同步周期,以精简冗余、优化硬件降低总线负载,同时通过实操调试解决周期漂移、延迟、干扰等问题。

start_up_go的博客 91

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

Outlook Express 6 (OE6) for Win7/Win8/Win10

英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

上一篇: python快速生成mysql千万级测试数据
下一篇: Cause: org.jetbrains.plugins.gradle.tooling.util.ModuleComponentIdentifierIm Lorg/gradle/api/artifac
mt23
博客等级 码龄12年 33粉丝 91原创
评论 1
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值