项目场景:
项目需要使用到一款离线的语音识别软件,使用的是Vosk。
参考的文档:【项目管理】Java离线版语音识别-语音转文字
问题描述
在将需要的jar包,导入到maven仓库后(由于是内网项目,所以只能手动导入),启动demo程序,控制台报错
Native library (win32-x86/libvosk.dll) not found in resource path([file:
java.lang.UnsatisfiedLinkError: 找不到指定的模块。
原因分析:
一、JDK版本问题。JDK64位对应DLL文件64位,JDK32位对应DLL文件32位。
二、DLL路径有问题,比如绝对路径写错了。
三、DLL文件依赖问题。
解决方案:
解决方案一
java -d32 -version
命令提示符,如果JDK是32位的,则会正常显示内容
java -d64 -version
类似
这种检验方法,要注意项目中的JDK与Windows中的Path里的JAVA_HOME一致才行
解决方案二
将DLL放置于指定目录(比如说JDK的BIN目录)–本次问题不在这里
解决方案三
安装【微软常用运行库合集】-- 由于有内网安全软件,安装失败