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

被折叠的 条评论
为什么被折叠?



