Ubuntu22.04下IntelliJ配置JavaCV遇UnsatisfiedLinkError求助
IntelliJ IDEA中Ubuntu 22.04环境下JavaCV 1.5.7配置步骤
这个错误是因为Java找不到FFmpeg/OpenCV对应的JNI本地库文件(.so格式)——你只添加了Java层的jar包,没配置本地库的加载路径。以下是准确的配置步骤:
一、手动配置(基于你已下载的javacv-platform-bin包)
- 解压
javacv-platform-1.5.7-bin.zip,找到里面的linux-x86_64文件夹,这里面全是Ubuntu 64位系统需要的JNI本地库(比如报错里提到的libjniavutil.so)。 - 打开IntelliJ的
File -> Project Structure:- 左侧选
Modules,选中你的模块,切到Dependencies标签页,确认已经添加了javacpp.jar、javacv.jar、opencv.jar、ffmpeg.jar,没加的话点+ -> JARs or directories选对应文件添加。 - 左侧切到
Libraries,点+ -> Java,选中刚才的linux-x86_64文件夹,点OK把它加入项目库。
- 左侧选
- 配置运行参数:
- 打开
Run -> Edit Configurations,选中你的运行配置。 - 在
VM options里加一行:-Djava.library.path=/实际路径/javacv-platform-1.5.7-bin/linux-x86_64,把路径换成你自己的解压路径。
- 打开
- 点
Apply和OK,重新运行程序。
二、推荐:用Maven自动配置(不用手动下载包,更省心)
如果你的项目是Maven项目,直接在pom.xml里加以下依赖:
<dependencies> <dependency> <groupId>org.bytedeco</groupId> <artifactId>javacv-platform</artifactId> <version>1.5.7</version> </dependency> </dependencies>
刷新Maven依赖后,IntelliJ会自动下载所有Java包和对应平台的JNI库,不用额外配置路径,直接运行就行。
验证小技巧
可以在代码开头加一行打印,确认路径配置正确:
System.out.println(System.getProperty("java.library.path"));
输出里能看到你配置的本地库路径就没问题。
内容的提问来源于stack exchange,提问作者Gireesh
相关产品推荐
相关产品推荐

