Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/375.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 尝试加载文件时出现JMagick错误-未满足链接_Java_Imagemagick_Jmagick - Fatal编程技术网

Java 尝试加载文件时出现JMagick错误-未满足链接

Java 尝试加载文件时出现JMagick错误-未满足链接,java,imagemagick,jmagick,Java,Imagemagick,Jmagick,java.lang.UnsatifiedLink错误: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 {

java.lang.UnsatifiedLink错误: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

简单的答案是JVM试图找到JMagick使用的本机库,但失败了。要么根本没有本机库,要么JVM找不到本机库



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

您需要找出“makeinstall”在何处安装了本机DLL,并告诉Java在正确的位置查找它:

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

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

        java -Djava.library.path=/some/folder/ .... 
    
    请注意,这是一个JVM选项,必须在类名之前


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

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