Java异常java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path的解决
作者:程序猿不秃头
问题描述
执行opencv包下的方法时报找不到opencv_java320文件
System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java320 in java.library.path
at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
at java.lang.Runtime.loadLibrary0(Runtime.java:870)
at java.lang.System.loadLibrary(System.java:1122)
at com.wemarklinks.qrdecode.blanktest.BlankCapTest.main(BlankCapTest.java:82)
问题分析
以上报出了四个异常
第一个异常
java.lang.ClassLoader.loadLibrary(ClassLoader.java:1867)
类加载器加载loadLibrary失败
第二个异常
java.lang.Runtime.loadLibrary0(Runtime.java:870)
方法加载动态库与指定的库名。一个包含本地代码文件从本地文件系统加载的库文件通常被那里得到的地方。
这个过程的细节是依赖于实现。从库名到特定文件名的映射在系统特定的方式进行。
这个也是加载失败了,没有找到对应的库名
第三个异常
java.lang.System.loadLibrary(System.java:1122)
System.loadLibrary()是我们在使用Java的JNI机制时,会用到的一个非常重要的函数,它的作用即是把实现了我们在Java code中声明的native方法的那个libraryload进来,或者load其他什么动态连接库。
咱们上面声明的这个文件没找到,所以会报错
第四个异常
com.wemarklinks.qrdecode.blanktest.BlankCapTest.main(BlankCapTest.java:82)
声明的初始化文件没找到,报错行数
解决方案
在这里我利用搜索工具Everything在我电脑上找了一下opencv_java320这个文件
找到这个文件后复制把它放在C:\Windows\System32目录下
再次运行程序
总结
以上为个人经验,希望能给大家一个参考,也希望大家多多支持脚本之家。