Unsatisfied Link Error - OpenCV Java 3.3.1 - Apache Wildfly 11

asked 2018-02-15 04:16:17 -0500

rc gravatar image

HI,

On windows (Server 2012 R2 64 bit) jdk1.8.0_151, OpenCV 3.3.1.jar - I am attempting to run the simplest sample code:

            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
            Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
            System.out.println("mat = " + mat.dump());

within a message driven bean:

@MessageDriven(name = "SimpleMessageDrivenBean", activationConfig = {
        @ActivationConfigProperty(propertyName = "destinationLookup", propertyValue = "java:/jms/SimpleQueue"),
        @ActivationConfigProperty(propertyName = "destinationType", propertyValue = "javax.jms.Queue"),
        @ActivationConfigProperty(propertyName = "acknowledgeMode", propertyValue = "Auto-acknowledge")})
public class SimpleMessageDrivenBean implements MessageListener {
@Override
public void onMessage(Message message) {
    try {
            System.out.println(Core.NATIVE_LIBRARY_NAME);
            System.loadLibrary(Core.NATIVE_LIBRARY_NAME);
            Mat mat = Mat.eye(3, 3, CvType.CV_8UC1);
            System.out.println("mat = " + mat.dump());

            System.out.println("Got message: " + ((TextMessage)message).getText() + " @" + System.currentTimeMillis());
        } 
        catch (JMSException e) {
        e.printStackTrace();
        }
    catch(Exception ex)
    {
        ex.printStackTrace();
    }

}

As expected, Upon executing this code, I get a Caused by: java.lang.UnsatisfiedLinkError: no opencv_java331 in java.library.path

Once I place opencv_java331.dll in C:\Windows\ on the server in question, this error changes to:

Caused by: java.lang.UnsatisfiedLinkError: org.opencv.core.Mat.n_eye(III)J

which suggests that although the native library has been loaded, it is now failing to load some dependency of the opencv_java331.dll (which I had thought was standalone).

Using the same dll and -Djava.library.path="C:\opencv\build\java\x64" to the same Dll within a J2SE project (under netbeans) works, so this suggests that there is some different behaviour under wildfly.

Can anyone offer any assistance?

Many thanks

Richard

edit retag flag offensive close merge delete