You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Ubuntu 22.04下IntelliJ IDEA配置OpenCV Java库遇链接错误求助

Ubuntu 22.04下Java+OpenCV配置报错UnsatisfiedLinkError的解决办法

问题详情

在Ubuntu 22.04系统的IntelliJ IDEA中配置Java版OpenCV,已安装OpenCV并添加项目依赖,但运行代码时抛出UnsatisfiedLinkError,提示无法找到opencv_java470库。

运行代码

package ImageToText;

import org.opencv.core.Core;

public class ImageToText {

    static {System.loadLibrary(Core.NATIVE_LIBRARY_NAME);}
    public static void main(String[] args) {
        System.out.println(Core.VERSION);
    }
}

报错信息

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java470 in java.library.path: /usr/java/packages/lib:/usr/lib64:/lib64:/lib:/usr/lib
    at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2429)
    at java.base/java.lang.Runtime.loadLibrary0(Runtime.java:818)
    at java.base/java.lang.System.loadLibrary(System.java:1989)
    at ImageToText.ImageToText.<clinit>(ImageToText.java:7)

Process finished with exit code 1

解决方法

1. 配置IntelliJ IDEA运行参数

打开项目的运行/调试配置,在VM选项中添加:

-Djava.library.path=/实际路径/opencv/build/lib

替换/实际路径/opencv/build/lib为你本地OpenCV编译后生成的libopencv_java470.so所在目录(通常源码编译后路径为/usr/local/share/java/opencv4)。

2. 复制库文件到系统默认路径

执行以下命令,将OpenCV的Java库文件复制到系统默认加载路径:

sudo cp /实际路径/opencv/build/lib/libopencv_java470.so /usr/lib/
sudo ldconfig

执行后系统会更新库缓存,Java可直接找到该库。

3. 通过环境变量指定库路径

在终端启动IntelliJ IDEA前,设置环境变量:

export LD_LIBRARY_PATH=/实际路径/opencv/build/lib:$LD_LIBRARY_PATH
./idea.sh

此方法会让IDE继承该环境变量,确保Java进程能加载到OpenCV库。

验证操作

  • 确认libopencv_java470.so文件存在于指定路径
  • 检查运行配置的VM参数或环境变量是否正确设置
  • 重新运行项目,若正常输出OpenCV版本号则配置成功

内容的提问来源于stack exchange,提问作者user23248221

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.02 01:50:07