java - 异常在线程 "main"java.lang.UnsatisfiedLinkError : no opencv_java249 in java. library.path

标签 java opencv java-native-interface 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)

我试过改变一些东西,比如进入用户库并将 native 库位置更改为\x64 而不是\x86,但这没有用。我还确保我的 Java 项目有 OpenCV-2.4.9 作为它的库之一,它有。我也试过“清理”所有项目,但没有奏效(有过吗?)。所以我已经按照设置教程中的所有说明进行操作,但它仍然无法正常工作。

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

最佳答案

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

您的 opencv 发行版应包含:

  • 一个 java 库:opencv249.jar。这个库主要是一个带有 jni 东西的 java 到 native 库,允许您从 java 代码进行 native 调用。它必须在类路径中(并且根据您遇到的错误和您的解释:它在您的类路径中 --> 这里一切正常)

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

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

关于java - 异常在线程 "main"java.lang.UnsatisfiedLinkError : no opencv_java249 in java. library.path,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28644735/

相关文章:

java - 如何对两个不同的游标列表进行排序?

c++ - 我需要透明色之类的白色

opencv - 基于光流的分割

Java 与 C JNI - UDP 性能

java - 无法将 jzmq.dll 加载到 java 中

java - 如何混合 PCM 音频源(Java)?

java - 运行junit测试时找不到.class文件

java.lang.ArrayIndexOutOfBoundsException : 90 - rotating n*m array

将 RGB 转换为 YCbCr - C 代码

javascript - 安装node-java时出现LNK2001错误