我还制作了一个具有 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/