线程 "main "中的异常 java.lang.UnsatisfiedLinkError: java.library.path中没有opencv_java249。

 2023-01-20    301  

问题描述

我目前正在尝试在我的32位笔记本电脑上设置OpenCV,但是我一直收到一条错误消息,这使我感到困惑:

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java249 in java.library.path
at java.lang.ClassLoader.loadLibrary(Unknown Source)
at java.lang.Runtime.loadLibrary0(Unknown Source)
at java.lang.System.loadLibrary(Unknown Source)
at hello.main(hello.java:8)

我已经尝试切换一些事情,例如进入用户库并将本机库位置更改为\ x64而不是\ x86,但这尚未起作用.我还确保我的Java项目将OpenCV-2.4.9作为其库之一.我还尝试过”清洁”所有项目,但这没有奏效(曾经有过吗?).因此,我遵循了设置教程中的所有说明,但它仍然不起作用.

线程 "main "中的异常 java.lang.UnsatisfiedLinkError: java.library.path中没有opencv_java249。

有人知道这里有什么问题吗?预先感谢…

推荐答案

问题是无法找到本机OpenCV库,因为它不在java.library.path中(它是本机库,不应在通常的Java class Path中,但必须在Java中. library.path).

您的OpenCV发行版应包含:

  • java库:opencv249.jar.该库主要是本机库的Java,带有JNI东西,可让您从Java代码中进行本机呼叫.它必须在classpath中(并且根据您遇到的错误和您的解释:它在您的classpath上 – >这里一切都还好)

  • 一个名为libopencv_java249.so的本地库,这必须在您的java.library.path中.显然:不是:不满意的Linkerror是缺失本地图书馆的症状.包括此本机库:使用以下参数启动Java程序:

    -djava.library.path =/path/to/to/the/directory/of/ibopencv_java249.so

其他推荐答案

在Ubuntu上对我有用的另一个可能的解决方案:
而不是将JVM参数设置为Exact libopen.so文件,而是尝试将其设置为文件夹:

-Djava.library.path=/opencv-3.2.0/opencv/build/lib/

其他推荐答案

美好的一天!我从另一个论坛上看到了这个.

.

我发现您应该从OpenCV复制.dll文件并将其粘贴到Windows文件夹中.为此,请从此路径文件夹中找到.dll

opencv> build> java> x64(适用于64位平台)
或者
opencv> build> java> x86(x86/32位平台).

复制.dll文件并将其粘贴到Windows文件夹(C:/Windows)之后,您可以重新编译工作以检查其是否有效.

*请注意,仅当您已经将.jar opencv的.jar文件设置为eclipse的偏好设置时,此教程才适用.

此方法对我有用.

以上所述是小编给大家介绍的线程 "main "中的异常 java.lang.UnsatisfiedLinkError: java.library.path中没有opencv_java249。,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对77isp云服务器技术网的支持!

原文链接:https://77isp.com/post/26095.html

=========================================

https://77isp.com/ 为 “云服务器技术网” 唯一官方服务平台,请勿相信其他任何渠道。