Wie man opencv + java in ein Glas packt

Ich habe Opencv 2.4.5 mit Java für eine Weile verwendet, um eine Anwendung zu erstellen, und möchte nun die App verteilen. Die Bibliothek wird folgendermaßen geladen:

static{ 
        System.loadLibrary("opencv_java245"); 
    }

was gut funktioniert. Beim Exportieren funktioniert es jedoch nicht, wenn es aus dem jar ausgeführt wird:

java -jar build1.jar 

Die Datei opencv_java245.jar ist als Benutzerbibliothek enthalten, mit der eine native Datei (libopencv_java245.dylib) verbunden ist. Wenn ich die aus Eclipse generierte ausführbare JAR-Datei ausführe, erhalte ich den folgenden UnsatisfiedLinkError, obwohl in Eclipse alles einwandfrei funktioniert.

Exception in thread "main" java.lang.UnsatisfiedLinkError: no opencv_java245 in java.library.path
    at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860)
    at java.lang.Runtime.loadLibrary0(Runtime.java:845)
    at java.lang.System.loadLibrary(System.java:1084)
    at com.drawbridge.Main.<clinit>(Main.java:12)
    at java.lang.Class.forName0(Native Method)
    at java.lang.Class.forName(Class.java:266)
    at org.eclipse.jdt.internal.jarinjarloader.JarRsrcLoader.main(JarRsrcLoader.java:56)

Kennt jemand eine einfache Möglichkeit, OpenCV in das Glas zu packen?

Update: Ich habe jetzt alles erschöpft. Ich kann die Bibliothek meinem Erstellungspfad hinzufügen (und nicht System.loadLibrary verwenden), und das funktioniert in Eclipse, aber nicht, wenn es in der JAR-Datei gepackt ist. Ich habe alles versucht. Ich habe auch den Typ der dynamischen Bibliothek überprüft, die ich zu laden versuche - es ist

Mach-O 64-bit x86_64 dynamically linked shared library

was scheint, als sollte es gut funktionieren. Ich habe -D64 und -D32 verwendet, um zu testen und mit beiden das gleiche Ergebnis zu erzielen.

Antworten auf die Frage(1)

Ihre Antwort auf die Frage