Ошибка JMagick при попытке загрузить файл - UnsatisfiedLink

java.lang.UnsatisfiedLinkError: нет JMagick в java.library.path в java.lang.ClassLoader.loadLibrary (ClassLoader.java:1754) в java.lang.Runtime.loadLibrary0 (Runtime.java:823) в java.lang.System .loadLibrary (System.java:1045)

при попытке использовать код

ImageInfo info;

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

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

Есть идеи, почему это происходит? Я использую eclipse на OSX


person James    schedule 24.08.2010    source источник


Ответы (2)


Вам нужно добавить скомпилированные вами двоичные файлы в путь, чтобы Eclipse мог их видеть. Сначала добавьте JMagick.jar в качестве библиотеки, затем в свойствах проекта -> Путь сборки Java -> Библиотеки, вы нажимаете jmagick jar, который вы добавили в этот проект, и редактируете местоположение для «Собственной библиотеки», которая в данном случае это будет то место, где находится libJMagick-6.2.6.dylib, поскольку именно об этом говорится в предоставленной вами ссылке.

person trigoman    schedule 16.09.2011

Простой ответ заключается в том, что JVM пытается найти собственную библиотеку, используемую JMagick, и терпит неудачу. Либо у вас вообще нет собственной библиотеки, либо JVM ее не ищет.


Я скачал пакет для osx отсюда: joggame.com/software/jmagick.html запустил configure / make / make install, и все прошло хорошо. Что еще мне нужно настроить для Java, чтобы найти его?

Вам нужно выяснить, где "make install" установила родную DLL, и указать Java, чтобы она находила ее в нужном месте:

  • Если вы запускаете из Eclipse, следуйте процедуре в ответе тригомана.

  • Если вы запускаете из командной строки, напрямую или через скрипт, вам необходимо включить эту опцию (или эквивалент) в вашу команду java:

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

    Обратите внимание, что это опция JVM, и она должна стоять перед именем класса.

person Stephen C    schedule 24.08.2010
comment
Я загрузил пакет для osx отсюда: joggame.com/software/jmagick.html запустил настроить / сделать / сделать установку, и все прошло хорошо. Что еще мне нужно настроить для Java, чтобы найти его? - person James; 24.08.2010