RuntimeException: фатальная ошибка Sikulix: loadlib: opencv_java342.dll не находится ни в одной папке libs

Структура проекта (полный проект можно скачать здесь): sikuli 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, чтобы исключить проблемы с окружением - все равно не получается

person Andrey Kotov    schedule 19.12.2018    source источник


Ответы (1)


Так случилось, что в последнем снапшоте была ошибка. Полный диалог с разработчиками можно найти здесь.

Итак, в этой ситуации у вас есть как минимум два варианта:

  1. Подождите, пока разработчики исправят проблему и представят новый снимок. Об ошибках/вопросах можно сообщать здесь.
  2. Скажите gradle/maven использовать предыдущую стабильную версию библиотеки sikulixapi. Полный список доступных в настоящее время снимков можно найти здесь. Пример Gradle:

     dependencies {
        compile group: 'com.sikulix', name: 'sikulixapi', version: '1.1.4-20181214.081346-62'
    }
    
person Andrey Kotov    schedule 24.12.2018