尝试使用命令" mvn clean install"来构建sikuli-slides-1.5.0,我得到了上面引用的堆栈跟踪。我正在使用Windows 7,并尝试了我在这里提出的各种解决方案所遇到的指示无济于事。用户和系统定义变量的My Path和CLASSPATH变量包括:
" C:\的OpenCV \建立\ 64 \ VC10 \ BIN"
我多次重启我的机器。
此外,我已将javacv.jar,javacv.windows-x86.jar,javacv.windows-x86_64.jar添加到我项目的构建路径中,并在我的pom.xml中添加了javacv-0.9.jar。我也在我的pom中加入了javacpp-0.9.jar。我可以在我的构建路径上直观地看到所有上面引用的jar,并可以将jniopencv_core导入到我的任何类中。任何帮助将不胜感激。在执行JUnit测试AutomationExecutorExceptionTest.java时,测试失败并创建一个必须手动关闭的孤立java.exe进程。
下面列出了完整的堆栈跟踪。
线程中的异常"线程-60" java.lang.UnsatisfiedLinkError:> java.library.path中没有jniopencv_core at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886) 在java.lang.Runtime.loadLibrary0(Runtime.java:849) 在java.lang.System.loadLibrary(System.java:1088) 在org.bytedeco.javacpp.Loader.loadLibrary(Loader.java:535) 在org.bytedeco.javacpp.Loader.load(Loader.java:410) 在org.bytedeco.javacpp.Loader.load(Loader.java:353) 在org.bytedeco.javacpp.opencv_core。(opencv_core.java:10) at org.bytedeco.javacpp.helper.opencv_core $ AbstractIplImage.create(openc v_core.java:909) at org.bytedeco.javacpp.helper.opencv_core $ AbstractIplImage.createFrom(o pencv_core.java:999) at org.bytedeco.javacpp.helper.opencv_core $ AbstractIplImage.createFrom(o pencv_core.java:971) at org.bytedeco.javacpp.helper.opencv_core $ AbstractIplImage.createFrom(o pencv_core.java:968) 在org.sikuli.core.cv.ImagePreprocessor.createGrayscale(ImagePreprocesso r.java:43) at org.sikuli.core.search.TemplateMatcher.findMatchesByGrayscaleAtOrigin alResolution(TemplateMatcher.java:71) at org.sikuli.api.ImageTarget.getUnorderedMatches(ImageTarget.java:127) at org.sikuli.api.DefaultTarget.doFindAll(DefaultTarget.java:128) at org.sikuli.api.DefaultScreenRegion.findAll(DefaultScreenRegion.java:7 4) at org.sikuli.slides.api.sikuli.CrossSearchStrategy.testHypotheses(Cross SearchStrategy.java:85) 在org.sikuli.slides.api.sikuli.CrossSearchStrategy.perform(CrossSearchS trategy.java:39) at org.sikuli.slides.api.sikuli.ContextImageTarget.doFindAll(ContextImag eTarget.java:122) at org.sikuli.api.DefaultScreenRegion._find(DefaultScreenRegion.java:88)
at org.sikuli.api.DefaultScreenRegion.find(DefaultScreenRegion.java:80) at org.sikuli.slides.api.actions.TargetAction.execute(TargetAction.java:
26) at org.sikuli.slides.api.actions.RetryAction.execute(RetryAction.java:51 ) at org.sikuli.slides.api.actions.ParallelAction $ Worker.run(ParallelActio n.java:35) 在java.lang.Thread.run(Thread.java:745)
答案 0 :(得分:0)
您的堆栈跟踪包含以下行:
Exception in thread "Thread-60" java.lang.UnsatisfiedLinkError: no jniopencv_cor e in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1886)
注意jniopencv_cor
和e
之间的空间?
你的一个配置文件包含一个空间,它不应该在那里。
答案 1 :(得分:0)
javacv文件的指示非常混乱。问题是我必须实际爆炸jar文件的内容并在目录中公开DLL。与javacv的jar一起打包的指令指示我简单地将二进制文件放在类路径上。
答案 2 :(得分:0)
我有同样的问题,我通过在Sikuli Slides 1.5.1的Maven项目中添加以下依赖项来解决它:
GroupId:org.bytedeco.javacpp-presets AritfactId:opencv 版本:2.4.9-0.9 类型:jar 分类器:windows-x86_64
在我的情况下,我使用的是Windows 7 64位。添加此依赖项后,我能够成功构建Sikuli幻灯片。