带有 OpenCv : UnsatisfiedLinkError under Eclipse if use spring-boot-devtools 的 Java Spring 启动应用程序

标签 java eclipse opencv spring-boot unsatisfiedlinkerror

我还制作了一个具有 OpenCv 依赖项的 Spring 启动应用程序 (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 下也能正常运行。

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

最佳答案

为了将 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);

利润。

关于带有 OpenCv : UnsatisfiedLinkError under Eclipse if use spring-boot-devtools 的 Java Spring 启动应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43477908/

相关文章:

缓存 java http 代理设置,直到 JVM 重新启动

java - Realm.io - 在 Android 之外使用(在 Java 中)

eclipse - jpa存储库保存方法返回的ID与插入数据库的ID不同

java - 有人知道如何自动在手机屏幕上找到坏点吗?

opencv - 在OpenCV中将RGB视频转换为灰度

java - 将 Spring Boot 升级到 2.7.0- 无法启动 bean 'documentationPluginsBootstrapper

java - R.java 没有 R.id.map 的 map

java/eclipse : org. apache.commons.lang.math 添加到构建路径后未解析

python - 如何存储人脸的多个特征并求出距离?

java - 如何检查直线和矩形之间的交点?