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

Zet*_*and 3 java java-native-interface opencv java.library.path

我正在尝试在我的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)
Run Code Online (Sandbox Code Playgroud)

我尝试过切换一些东西,比如进入用户库并将原生库位置更改为\ x64而不是\ x86,但这没有用.我还确保我的Java项目将OpenCV-2.4.9作为其库之一.我也试过'清理'所有项目,但这没有用(它曾经有过吗?).所以我已经按照设置教程中的所有说明进行操作,但它仍然无效.

有谁知道问题可能在这里?提前致谢...

ben*_*n75 9

问题是无法找到本机opencv库,因为它不在java.library.path(它是一个本机库,它不应该在通常的java类路径中,但它必须在java.library.path中).

您的opencv发行版应包含:

  • 一个java库:opencv249.jar.这个库主要是一个java到本机库,带有jni东西,允许你从java代码进行本机调用.它必须在类路径中(根据你的错误和你的解释:它在你的类路径上 - >这里的一切都好)

  • 一个名为的本地库libopencv_java249.so,这必须在你的java.library.path.显然:它不是:UnsatisfiedLinkError是缺少本机库的症状.要包含此本机库:使用以下参数启动Java程序:

    -Djava.library.path = /路径/到/ /目录/的/ ibopencv_java249.so