Ошибка 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

7
задан Andrea 28 January 2014 в 14:10
поделиться

1 ответ

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


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

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

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

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

      java -Djava.library. путь = / некоторые / папка / ....
    

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

2
ответ дан 7 December 2019 в 14:25
поделиться
Другие вопросы по тегам:

Похожие вопросы: