org.opencv.core.Mat.n_Mat(III)J | java项目opencv报错解决 | idea

项目运行时遇到`java.lang.UnsatisfiedLinkError`,涉及OpenCV的Mat类。尝试从eclipse解决方案入手,但问题不在该处。通过检查发现错误在于将opencv jar包放入了系统JDK的`lib/ext`目录,删除后使用项目lib中的jar包成功解决问题。

项目运行报错:

Exception in thread "main" java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(III)J
	at org.opencv.core.Mat.n_Mat(Native Method)
	at org.opencv.core.Mat.<init>(Mat.java:477)
	at util.TypeConvertUtil.GDAL2MatFromLocalFile(TypeConvertUtil.java:609)
	at util.ContourUtil.getContour(ContourUtil.java:24)
	at util.ContourUtil.main(ContourUtil.java:19)

在网上搜到的解决思路主要是两种:
第一种:用eclipse写java程序的时候(不是Android)报java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_Mat(IIIDDDD)J 错误
第二种:java调用opencv库中Mat类出错:java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_eye(III)J的解决办法

第一种方法中提到了的代码我已经有了,所以我遇到的情况不是第一种;除此之外只有第二种方法了。
但是方法二中提到说不要勾选的框“system library”,我在idea当中没有找到。

但但是,借鉴方法二的思路,意思是不要让程序去本地jdk/jre/lib/ext中寻找opencv的jar包。 而之前我为了项目打包成功,把jar包加入了项目的lib之外,还加入了我本机的jdk/jre/lib/ext目录下。

至此,破案。只需把jdk/jre/lib/ext目录下opencv的jar包删掉,强迫程序去找项目lib里面的jar包就可以了。
运行成功。

END

评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值