ocr识别遇到的问题(nested exception is java.lang.UnsatisfiedLinkError)

server/2024/11/13 5:17:20/

目录

前言:

问题描述:

解决思路:

解决方法:

总结反思:


前言:

上篇讲过我使用冰蓝的jar包在Java 项目中扫描识别图片中的文字,这篇写更新上线中遇到的问题。

问题描述:

项目打包更到线上后,接口调用报错Can't load library:/home/java/agrisubs/apps/dependencies/libdnnl.so.1

"Handler dispatch failed; nested exception is java.lang.UnsatisfiedLinkError: com.spire.ocr.NativeLibrary.detectText(Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Ljava/lang/String;"

Caused by: java.lang.RuntimeException: Load /home/java/agrisubs/apps/dependencies/libdnnl.so.1 failed, please check it exists.at com.spire.ocr.NativeLibrary.spr≂↮(Unknown Source)at com.spire.ocr.NativeLibrary.spr▋↮(Unknown Source)at com.spire.ocr.NativeLibrary.<init>(Unknown Source)at com.spire.ocr.packages.sprrtd.spr▌︼(Unknown Source)at com.spire.ocr.packages.sprfxd.spr●︻(Unknown Source)at com.spire.ocr.packages.sprfxd.spr⅟︼(Unknown Source)at com.spire.ocr.packages.sprfxd.spr㈯⃠(Unknown Source)... 101 more
Caused by: java.lang.UnsatisfiedLinkError: Can't load library: /home/java/agrisubs/apps/dependencies/libdnnl.so.1at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1820)at java.lang.Runtime.load0(Runtime.java:782)at java.lang.System.load(System.java:1100)... 108 more

解决思路:

意思就是在dependencies这个目录下没找到libdnnl.so.1这个包,我检查了下我本地项目的dependencies目录:

然后又去翻了下官网上的截图:如何在 Java 项目中扫描识别图片中的文字 (e-iceblue.cn)

确实没看到这个包

于是我想着去网上下载libdnnl.so.1,放到线上服务器dependencies文件夹下,在网上搜半天基本没这个包的信息,但大概知道这个是linux服务器上的,怀疑是不是linux系统不兼容这个ocr识别功能

最后搞半天又看了下官网,发现官网其实提供了linux支持的jar包

解决方法:

下载下来后确实发现了libdnnl.so.1,更新上线问题解决:

总结反思:

出现问题的根本原因是本地用的windows操作环境,线上用的linux操作系统,两个系统对这个ocr识别功能所需的jar包不一样

查找问题的时候官网也没仔细看,直奔官网截图去了,引以为戒


http://www.ppmy.cn/server/110718.html

相关文章

普通人到底在用哪些 AI 应用?

在紧随日益庞大的消费者导向 AI 产品潮流时&#xff0c;保持高度的动态适应与敏捷反应能力显得尤为重要。无论我们是致力于开发提升效率的新工作流程&#xff0c;探索现实世界中的实际应用案例&#xff0c;还是尝试将新技术与创意元素巧妙融合&#xff0c;这一领域都要求我们始…

使用CMake组织构建QT项目

文章目录 定位Qt安装路径查找QT包设置自动MOC、UIC和RCC包含和链接Qt库处理资源文件调整编译器设置处理UI文件多平台支持高级编译选项在使用CMake来组织和构建Qt项目时,需要注意一系列的细节以确保项目的顺利编译和运行。这些细节涉及确保Qt和CMake之间的兼容性、处理UI文件和…

滴滴出行:分布式数据库的架构演进之路|OceanBase案例

本文作者&#xff1a;吴其朋&#xff0c;滴滴分布式存储运维负责人 滴滴出行&#xff0c;作为一个集网约车、出租车、顺风车、代驾等多种出行方式于一体的综合性出行服务平台&#xff0c;其用户遍布全球&#xff0c;总数已突破6.5亿。面对如此多样化的出行需求及庞大的用户群体…

网络安全面试经验分享:蘑菇街/网络安全

《网安面试指南》http://mp.weixin.qq.com/s?__bizMzkwNjY1Mzc0Nw&mid2247484339&idx1&sn356300f169de74e7a778b04bfbbbd0ab&chksmc0e47aeff793f3f9a5f7abcfa57695e8944e52bca2de2c7a3eb1aecb3c1e6b9cb6abe509d51f&scene21#wechat_redirect 蘑菇街 介绍…

小型集群分析

目录 介绍步骤 介绍 etcd是CoreOS基于Raft协议开发的分布式key-value存储&#xff0c;可用于服务发现、共享配置以及一致性保障&#xff08;如数据库选主、分布式锁等&#xff09;。 在分布式系统中&#xff0c;如何管理节点间的状态一直是一个难题&#xff0c;etcd像是专门为…

计算机网络学习笔记~物理层

物理层 物理层的基本概念 具体需要考虑的问题为 物理层考虑的是怎么样才能在连接各种计算机的传输媒体上传输数据比特流 物理层为数据链路层屏蔽了各种传输媒体的差异&#xff0c; 透明的概念 ————使数据链路层只需要考虑如何完成本层的协议和服务&#xff0c;而不必考虑…

java写入word表格(poi-tl)

1.导入依赖 <!--poi-tl--> <dependency><groupId>com.deepoove</groupId><artifactId>poi-tl</artifactId><version>1.12.0</version> </dependency>2.代码 自己创建模板。放在&#xff08;resource/file&#xff09;…

【活动预约】镭速邀您莅临2024年行业案例分享专场线下沙龙活动!

​为了加强行业内外渠道集成商及相关生态合作伙伴的交流合作&#xff0c;共同应对数据安全挑战&#xff0c;提升内外网安全交换系统的应用范围及应用效果&#xff0c;镭速即将举办一场不容错过的2024年行业案例分享专场线下沙龙活动&#xff01; 活动亮点 ➣行业前沿&#x…