【问题标题】:Including openCV .jar file to a web project将 openCV .jar 文件包含到 Web 项目中
【发布时间】:2013-08-04 06:26:08
【问题描述】:

我正在尝试使用 eclipse 在 java web 项目上运行 openCV 库,我遵循的步骤显示在此链接中: http://docs.opencv.org/doc/tutorials/introduction/desktop_java/java_dev_intro.html#java-dev-intro

问题是,在 web 项目中,我们必须将 .jar 文件放在 WEB-INF/bin 文件夹中,所以在我的情况下,它是一个用户库而不是 jar 文件,当我编译代码时它会抛出以下异常:

java.lang.UnsatisfiedLinkError: no opencv_java246 in java.library.path
    at java.lang.ClassLoader.loadLibrary(Unknown Source)
    at java.lang.Runtime.loadLibrary0(Unknown Source)
    at java.lang.System.loadLibrary(Unknown Source)

你能帮我以其他方式导入本机库吗?

谢谢

【问题讨论】:

  • 你能澄清一下“所以在我的情况下它是一个用户库而不是一个 jar 文件”是什么意思,我以为你只是将 jar 文件放在 WEB-INF/bin 文件夹中
  • 好吧,按照上面链接中的步骤创建用户库并导入jar文件和其中的本机库后,我在普通的java应用程序中测试了OpenCV,它工作正常!但是在Web应用程序中它不仅仅是一个jar文件,如上面的步骤所示,您必须将jar和本机库放在用户库中,但这在Web应用程序中不起作用,在这种情况下我该怎么办?

标签: java eclipse servlets opencv jar


【解决方案1】:

在 Web 应用程序中,您的“*.jar”应该在 lib 文件夹中。因为内部服务器只能识别 lib 文件夹中的 .jar 文件。 文件夹结构:

  rootfolder
        *.jsp

        WEB-INF
            classes
            lib
              *.jar

表示WEB-INF/lib/*.jar

然后它编译得很好。

【讨论】:

  • 谢谢@Mohsin,但这不是我的问题,我已经知道了,我在我的问题中提到了它。我的问题是,当我按照 opencv 教程(链接)中显示的步骤操作时,它不起作用!
【解决方案2】:

在服务器中运行项目之前,您必须在服务器的VM arguments中添加-Djava.library.path

要添加-Djava.library.path,请按照路径

项目->运行方式->运行配置

之后,

选择 Arguments 选项卡并在 VM arguments 文本区域中添加以下属性

-Djava.library.path="OpenCV/OpenCV 2.4.11/opencv/build/java/x64"

Check another possible duplicate stackoverflow thread

【讨论】:

    猜你喜欢
    • 2013-05-14
    • 2019-04-07
    • 1970-01-01
    • 2013-08-29
    • 2014-02-05
    • 2020-10-03
    • 1970-01-01
    • 1970-01-01
    • 2016-11-17
    相关资源
    最近更新 更多