试图加载文件时出现JMagick错误

java.lang.UnsatisfiedLinkError:java.lang.ClassLoader.loadLibrary(ClassLoader.java:1754)java.lang.Runtime.loadLibrary0(Runtime.java:823)java.lang.System中的java.library.path中的JMagick .loadLibrary(System.java:1045)

当试图使用代码时

ImageInfo info;

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

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

任何想法为什么发生这种情况? 我在OSX上使用eclipse


您需要将编译的二进制文件添加到路径中,以便Eclipse可以看到它。 首先将JMagick.jar添加为库,然后在项目属性 - > Java Build Path - > Libraries中,单击添加到此项目的jmagick jar,并编辑“Native library”的位置,在这种情况下这将是libJMagick-6.2.6.dylib所在的位置,因为这是您提供的链接所说的内容。


简单的答案是JVM试图找到由JMagick使用的本地库,并且失败。 您可能根本没有本地库,或者它不在JVM正在寻找的地方。


我从这里下载了一个osx软件包:joggame.com/software/jmagick.html运行configure / make / make install,一切顺利。 还有什么我必须设置为Java来找到它?

你需要弄清楚“make install”在哪里安装了本地DLL,并告诉Java在正确的位置寻找它:

  • 如果您从Eclipse内启动,请按照trigoman答案中的步骤进行操作。

  • 如果您直接或通过脚本从命令行启动,则需要在java命令中包含此选项(或等效命令):

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

    请注意,这是一个JVM选项,必须在类名之前。

  • 链接地址: http://www.djcxy.com/p/47521.html

    上一篇: JMagick Error when trying to load a file

    下一篇: why interfaces in dynamic/loosely