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
答案 0 :(得分:2)
简单的答案是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选项,必须在classname之前。
答案 1 :(得分:2)
您需要将编译的二进制文件添加到路径中,以便Eclipse可以看到它。 首先将JMagick.jar添加为库,然后在项目属性中添加> Java构建路径 - >库,你点击你添加到这个项目的jmagick jar并编辑“Native library”的位置,在这种情况下它将是libJMagick-6.2.6.dylib所在的位置,因为这就是你提供的链接说。