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

项目运行报错:

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,bug,jdk,opencv)