【问题标题】:JMagick Error when trying to load a file - UnsatisfiedLink尝试加载文件时出现 JMagick 错误 - UnsatisfiedLink
【发布时间】:2011-04-02 23:27:04
【问题描述】:

java.lang.UnsatisfiedLinkError: java.library.path 中没有 JMagick 在 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));
    }

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

【问题讨论】:

    标签: java imagemagick jmagick


    【解决方案1】:

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

    【讨论】:

      【解决方案2】:

      简单的答案是 JVM 试图找到 JMagick 使用的本机库,但失败了。要么你根本没有原生库,要么它不是 JVM 正在寻找它的地方。


      我从这里下载了一个 osx 软件包:joggame.com/software/jmagick.html 运行了 configure/make/make 安装,一切顺利。我还需要设置什么才能让 java 找到它?

      您需要弄清楚“make install”安装本机 DLL 的位置并告诉 Java 在正确的位置查找它:

      • 如果您从 Eclipse 中启动,请按照 trigoman 回答中的过程进行操作。

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

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

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

      【讨论】:

      • 我从这里下载了一个 osx 软件包:joggame.com/software/jmagick.html 运行了 configure/make/make 安装,一切顺利。我还需要设置什么才能让 java 找到它?
      猜你喜欢
      • 2014-07-28
      • 1970-01-01
      • 2022-01-23
      • 1970-01-01
      • 1970-01-01
      • 2018-05-03
      • 1970-01-01
      • 2017-10-05
      • 2012-04-04
      相关资源
      最近更新 更多