2010-08-24 27 views
7

java.lang.UnsatisfiedLinkError: no JMagick en java.library.path en java.lang.ClassLoader.loadLibrary (ClassLoader.java:1754) en java.lang.Runtime .loadLibrary0 (Runtime.java:823) en java.lang.System.loadLibrary (System.java:1045)JMagick error al intentar cargar un archivo - UnsatisfiedLink

al intentar utilizar el código

ImageInfo info; 

    try { 
     info = new ImageInfo(); 
     //image = new MagickImage(info); 

    } catch (MagickException e) { 
     logger.error(InsightsHelper.getStackTrace(e)); 
    } 

cualquier idea por qué ocurre esto? Estoy usando eclipse en OSX

Respuesta

2

La respuesta simple es que la JVM está tratando de encontrar una biblioteca nativa utilizada por JMagick, y en su defecto. O no tiene la biblioteca nativa en absoluto, o no está donde la JVM la está buscando.


I downloaded a package for osx from here: joggame.com/software/jmagick.html ran the configure/make/make install and all went well. What else would I have to set up for java to find it?

Necesitas averiguar dónde "make install" instala la DLL nativa y decirle a Java para buscar en el lugar correcto:

  • Si está iniciando desde dentro de Eclipse , sigue el procedimiento en la respuesta de trigoman.

  • Si está iniciando desde la línea de comandos, directamente o por medio de una secuencia de comandos, a continuación, es necesario incluir esta opción (o su equivalente) en su java comando:

    java -Djava.library.path=/some/folder/ .... 
    

    Tenga en cuenta que esto es una JVM opción y tiene que ir antes del nombre de clase.

+0

He descargado un paquete para osx desde aquí: http://joggame.com/software/jmagick.html ejecuté la instalación configure/make/make y todo salió bien. ¿Qué más tendría que configurar para que java lo encuentre? – James

2

Debe agregar los binarios que haya compilado en la ruta para que Eclipse pueda verlos. Primero agregue JMagick.jar como biblioteca, luego en las propiedades del proyecto-> Ruta de compilación de Java-> Bibliotecas, haga clic en el jmagick jar que agregó a este proyecto y edite la ubicación de "Biblioteca nativa", que en este caso será donde se encuentra libJMagick-6.2.6.dylib, ya que eso es lo que dice el enlace que proporcionó.

Cuestiones relacionadas