【问题标题】:Java Spring boot application with OpenCv : UnsatisfiedLinkError under Eclipse if use spring-boot-devtools带有 OpenCv 的 Java Spring 启动应用程序:如果使用 spring-boot-devtools,则在 Eclipse 下出现 UnsatisfiedLinkError
【发布时间】:2017-09-14 15:08:59
【问题描述】:

我也制作了一个带有 OpenCv 依赖项的 Spring Boot 应用程序(1.4.0)。 我在我的 mac 上安装并配置了 OpenCv,我确实必须为 mac 编译它......我在 java_home/jre/lib/ 中创建了一个指向外部库 /usr/local/share/OpenCV/java/libopencv_java320.dylib 的链接。

如果我从终端(不是在 Eclipse 下)运行 jar,一切都很好,但如果我在 Eclipse 下运行应用程序,它找不到本机库,我得到一个 java.lang.UnsatisfiedLinkError: org.opencv。 imgcodecs.Imgcodecs.imread_1(Ljava/lang/String;)J 当我制作 Mat matScreenshot = Imgcodecs.imread(absolutePathScreenshot);

我发现了一个有用的帖子https://github.com/spring-projects/spring-boot/issues/3315,它把我带到了正确的方向:在我的 pom.xml 中,我包含了与 System.loadLibrary 冲突的依赖 spring-boot-devtools ...

当我关闭依赖时,应用程序在 Eclipse 下也可以正常运行。

经过几天的研究,我找到了这个解决方案,我把这个“答案”放在这里希望它会有所帮助

【问题讨论】:

  • 谢谢!!!多亏了你,我解决了这个问题。

标签: java eclipse opencv spring-boot unsatisfiedlinkerror


【解决方案1】:

为了将 OpenCV 模块添加到 spring-boot 项目中,我在 pom 中添加了依赖项

<dependency>
   <groupId>org.openpnp</groupId>
   <artifactId>opencv</artifactId>
   <version>3.2.0-1</version>
</dependency>

之后,我从 java 构建路径中删除了库,之前手动添加了。

对于初始化库:

OpenCV.loadShared();

在役:

Mat m = Imgcodecs.imread("F:\\ocr\\source\\1081672810_44O0UXXMF0I4UJTG.jpg", 1);
Imgcodecs.imwrite("F:\\ocr\\destination\\test.jpg", m);

利润。

【讨论】:

    猜你喜欢
    • 2015-03-14
    • 2022-08-21
    • 2020-12-30
    • 1970-01-01
    • 1970-01-01
    • 2021-05-18
    • 2020-08-16
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多