我如何解决此UnsatisfiedLinkError?

问题描述 投票:2回答:1

早安,

[今天,我从使用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系统上使用所需的信息。

java unsatisfiedlinkerror sikuli-x
1个回答
0
投票

首先检查Java版本。Java版本之后安装opencvsudo apt安装libopencv3.2-javasudo ln -s /usr/lib/jni/libopencv_java320.so /usr/lib/libopencv_java.so