如何解决这个UnsatisfiedLinkError?

时间:2019-02-18 11:06:33

标签: java unsatisfiedlinkerror sikuli-x

早上好,

今天,我从使用SikuliX和Java的POC开始。我想尝试this链接中的示例。在这里捕获并搜索了一部分屏幕。

执行此操作时,收到错误消息:

[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() *****

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

我使用了错误的库吗?

一些其他信息: 我在Ubuntu 18.10计算机上使用Intellij。

如果我错过了什么,请告诉我。预先非常感谢。

@编辑:

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

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

1 个答案:

答案 0 :(得分:2)

首先检查Java版本。

java -version

安装opencv之后

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