RuntimeException: Sikulix фатальная ошибка: loadlib: opencv_java342.dll не находится ни в одной папке libs
Структура проекта (полный проект можно скачать здесь):
Launcher.java
учебный класс:
import org.sikuli.script.Pattern;
public class Launcher {
public static void main(String[] args)
{
Pattern p1 = new Pattern(Launcher.class.getResource("sample.png"));
}
}
build.gradle
файл:
plugins {
id 'java'
}
group 'com.myproj'
version '1.0-SNAPSHOT'
sourceCompatibility = 1.8
repositories {
mavenCentral()
maven {
url "http://oss.sonatype.org/content/groups/public"
}
}
dependencies {
testCompile group: 'junit', name: 'junit', version: '4.12'
compile group: 'com.sikulix', name: 'sikulixapi', version: '1.1.4-SNAPSHOT'
}
Программа выдает следующую ошибку времени выполнения:
loadlib: opencv_java342.dll not in any libs folder
Exception in thread "main" java.lang.ExceptionInInitializerError
at org.sikuli.script.Pattern.<init>(Pattern.java:125)
at Launcher.main(Launcher.java:7)
Caused by: java.lang.RuntimeException: Sikulix fatal error: loadlib: opencv_java342.dll not in any libs folder
at org.sikuli.script.Sikulix.terminate(Sikulix.java:58)
at org.sikuli.script.RunTime.terminate(RunTime.java:60)
at org.sikuli.script.RunTime.libsLoad(RunTime.java:915)
at org.sikuli.script.RunTime.loadLibrary(RunTime.java:1105)
at org.sikuli.script.Finder2.<clinit>(Finder2.java:33)
... 2 more
Disconnected from the target VM, address: '127.0.0.1:9172', transport: 'socket'
Process finished with exit code 1
Интересно, что утром мой код работал без сбоев. И когда вечером я вернулся домой, что-то пошло не так. Больше не могу запускать.. Спасибо за любую помощь!
Что я пробовал:
- перезагружать
sikulixapi
пакет с использованием Gradle с нуля - скачать 3.4.2 opencv и загрузить его во время выполнения, как предложено здесь
- добавить opencv_java342.dll непосредственно в проект, как описано здесь
- даже пытался запустить проект на другом компьютере Windows, чтобы исключить проблемы среды - по-прежнему не удается
1 ответ
Решение
Случилось так, что в последнем снимке произошла ошибка. Полный разговор с разработчиками можно найти здесь.
Итак, в этой ситуации у вас есть как минимум два варианта:
- Подождите, пока разработчики не исправят проблему и не представят новый снимок. Об ошибках / вопросах можно сообщить здесь.
Скажите gradle/maven использовать предыдущую стабильную версию
sikulixapi
библиотека. Полный список доступных на данный момент снимков можно найти здесь. Пример Gradle:dependencies { compile group: 'com.sikulix', name: 'sikulixapi', version: '1.1.4-20181214.081346-62' }