首页 > 解决方案 > 如何解决此 UnsatisfiedLinkError?

问题描述

早上好,

今天,我从 SikuliX 和 Java 的 POC 开始。我想试试这个链接中的例子。这里屏幕的一部分被捕获和搜索。

当我执行此操作时,我收到错误:

[error] RunTimeAPI: loadLib: opencv_java not usable: 
java.lang.UnsatisfiedLinkError: no opencv_java in java.library.path: [/usr/java/packages/lib, /usr/lib/x86_64-linux-gnu/jni, /lib/x86_64-linux-gnu, /usr/lib/x86_64-linux-gnu, /usr/lib/jni, /lib, /usr/lib]
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.sikuli.script.FindInput2.<clinit>(FindInput2.java:17)
at org.sikuli.script.Finder.<init>(Finder.java:21)
at org.sikuli.script.Region.doCheckLastSeenAndCreateFinder(Region.java:2936)
at org.sikuli.script.Region.checkLastSeenAndCreateFinder(Region.java:2897)
at org.sikuli.script.Region.doFind(Region.java:2827)
at org.sikuli.script.Region.find(Region.java:2325)
at Apl.sikuliXHighlight(Apl.java:50)
at Apl.main(Apl.java:26)
Caused by: org.sikuli.script.SikuliXception: fatal: problem with native library: opencv_java
at org.sikuli.script.RunTime.terminate(RunTime.java:70)
at org.sikuli.script.RunTime.libsLoad(RunTime.java:792)
at org.sikuli.script.RunTime.loadLibrary(RunTime.java:949)
at org.sikuli.script.Finder2.<clinit>(Finder2.java:35)
... 8 more
[4346 debug] RunTimeAPI: ***** final cleanup at System.exit() *****

我将添加到我的 POM.XML。但这没有帮助。

我使用了错误的库吗?

一些附加信息:我在 Ubuntu 18.10 机器上使用 Intellij。

如果我错过了什么,请告诉我。提前谢谢了。

@编辑:

我已经检查了可能的重复帖子。但我使用的不是 OpenCV,而是 SikuliX。我只需要 OpenCV 作为依赖项(因为 SikuliX 正在使用它)。

@Edit2:经过更多挖掘并尝试关注链接中的信息(重复),我发现了这个。它提供了在 Linux 系统上使用所需的信息。

标签: javaunsatisfiedlinkerrorsikuli-x

解决方案


首先检查java版本。

java -version

之后安装opencv

sudo apt install libopencv3.2-java
sudo ln -s /usr/lib/jni/libopencv_java320.so /usr/lib/libopencv_java.so

推荐阅读