大华sdk使用时遇到“java.lang.NoClassDefFoundError: com/sun/jna/Callback”的解决方法
问题
在使用大华 sdk 进行开发时,打包jar文件后,运行报错:
Exception in thread "main" java.lang.NoClassDefFoundError: com/sun/jna/Callback
at org.farpig.App.main(App.java:20)
Caused by: java.lang.ClassNotFoundException: com.sun.jna.Callback
at java.net.URLClassLoader.findClass(URLClassLoader.java:382)
at java.lang.ClassLoader.loadClass(ClassLoader.java:418)
at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:352)
at java.lang.ClassLoader.loadClass(ClassLoader.java:351)
... 1 more
或者报错:
Exception in thread "main" java.lang.NoSuchMethodError: com.sun.jna.Platform.getOSType()I
at org.farpig.dahua.lib.Utils.getOsPrefix(Utils.java:15)
at org.farpig.dahua.lib.Utils.getLoadLibrary(Utils.java:75)
at org.farpig.dahua.lib.NetSDKLib.<clinit>(NetSDKLib.java:17)
at org.farpig.dahua.service.InitServer.<clinit>(InitServer.java:17)
at org.farpig.App.main(App.java:20)
解决方法
添加如下依赖:
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>4.1.0</version>
</dependency>
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构