Cómo empaquetar opencv + java en un tarro

He estado usando Opencv 2.4.5 con Java durante un tiempo creando una aplicación y ahora me gustaría distribuirla. La biblioteca se carga utilizando lo siguiente:

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

que funciona bien. Sin embargo, al exportar, no funciona cuando se ejecuta desde el archivo jar:

java -jar build1.jar 

El archivo opencv_java245.jar se incluye como una biblioteca de usuario, con un archivo nativo (libopencv_java245.dylib) conectado a él. Cuando ejecuto el jar ejecutable generado desde Eclipse, obtengo el UnsatisfiedLinkError a continuación, a pesar de que la compilación / ejecución está bien en eclipse.

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)

¿Alguien sabe una forma sencilla de empaquetar OpenCV en el tarro?

Actualización: ahora he agotado todo. Puedo agregar la biblioteca a mi ruta de compilación (y no usar System.loadLibrary) y eso funciona en eclipse, pero no cuando está empaquetado en el contenedor. Lo he intentado todo. También he comprobado el tipo de biblioteca dinámica que estoy intentando cargar. Es

Mach-O 64-bit x86_64 dynamically linked shared library

que parece que debería funcionar bien. He usado -D64 y -D32 para probar y obtener el mismo resultado con ambos.

Respuestas a la pregunta(1)

Su respuesta a la pregunta