javasikulisikuli-x

RuntimeException: Sikulix fatal error: loadlib: opencv_java342.dll not in any libs folder


Project structure (full project can be downloaded here): sikuli RuntimeException: Sikulix fatal error: loadlib: opencv_java342.dll not in any libs folder

Launcher.java class:

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 file:

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'
}

Program throws following runtime error:

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

Interesting thing is that my code worked in the morning smoothly. And when I got back home in the evening something went wrong. Can't run it anymore.. Thank you for any help!

What I've tried:


Solution

  • It happened, that there was a bug in the latest snapshot. Full conversation with developers can be found here.

    So, in this situation you have at least two options:

    1. Wait until developers fix the issue and introduce new snapshot. Bugs/questions can be reported here.
    2. Tell gradle/maven to use previous stable version of sikulixapi library. Full list of currently available snapshots can be found here. Gradle example:

       dependencies {
          compile group: 'com.sikulix', name: 'sikulixapi', version: '1.1.4-20181214.081346-62'
      }