原创

j2ee(servlet tomcat7) 运行opencv成功的例子

两种方法解决 java.lang.UnsatisfiedLinkError :opencv_java300 之类的错误。

方法一

因为之前都是在j2se上进行运用, 对于j2ee上怎么用opencv不是很熟悉,所以没办法,只能慢慢研究。

晚上终于成功的在测试环境运行成功,现在写一个demo文件,进行讲解

正常逻辑:加JAR包,添加NATIVE。但是在j2ee中不是,j2ee中需要在VM arguments中添加:

-Djava.library.path=C:\opencv\opencv\build\java\x64

后面的路径就是我安装opencv的路径(实际上是解压)。

除了这一步需要注意,还有一步,就是要添加opencvjar-runtime-xxx-natives-windows-x86.jar(64位是opencvjar-runtime-xxx-natives-windows-x86_64.jar)至于xxx就是版本号,我是用3.0.0的进行测试的。

所以总结起来有3点要做的:

导入opencvjar-3.0.0.jar

导入opencvjar-runtime-3.0.0-natives-windows-x86_64.jar

修改VM arguments

========2016.05.20号再次更新========

方法二

今天在研究的时候发现,实际上最后一个VM arguments可以不用添加,不过不能用

System.loadLibrary("opencv_java300");

而要改成

Runtime.getRuntime().load(getServletContext().getRealPath("WEB-INF/lib")+"/opencv_java300.dll");

我是将opencv_java300.dll放在了WEB-INF/lib文件夹下的。

查看System.loadLibrary可以见到这么一句话:

The call System.loadLibrary(name) is effectively equivalent to the call Runtime.getRuntime().loadLibrary(name)

不用说我也懂了,这两个根本就是一个概念。

温馨提示:
本文最后更新于 2021年01月26日,已超过 741 天没有更新。若文章内的图片失效(无法正常加载),请留言反馈或直接联系我
正文到此结束
该篇文章的评论功能已被站长关闭
本文目录