java.lang.NoClassDefFoundError:无法初始化类org.ghost4j.GhostscriptLibrary

时间:2018-02-09 19:09:49

标签: java ghost4j

我正在尝试在我的Linux服务器上安装Ghostscript,以便可以使用Ghost4j的PDF Utilities。

我使用LinuxBrew安装了Ghostscript,并将Ghostscript二进制文件的路径添加到$ PATH。所以在这之后,我收到了以下错误:

java.lang.UnsatisfiedLinkError: Unable to load library 'gs': Native library (linux-x86-64/libgs.so) not found in resource path 
at com.sun.jna.NativeLibrary.loadLibrary(NativeLibrary.java:271)
at com.sun.jna.NativeLibrary.getInstance(NativeLibrary.java:398)
at com.sun.jna.Library$Handler.<init>(Library.java:147)
at com.sun.jna.Native.loadLibrary(Native.java:412)
at com.sun.jna.Native.loadLibrary(Native.java:391)
at org.ghost4j.GhostscriptLibraryLoader.loadLibrary(GhostscriptLibraryLoader.java:39)
at org.ghost4j.GhostscriptLibrary.<clinit>(GhostscriptLibrary.java:36)
at org.ghost4j.Ghostscript.initialize(Ghostscript.java:323)

在此步骤中,它能够加载并执行到GhostscriptLibrary。

在做了一些研究后,我在这个帖子Unable to load library 'gs': libgs.so: cannot open shared object file: No such file or directory之后添加了符号链接ln -s path/to/Ghostscript/lib/libgs.so.9.22 /usr/lib/libgs.so,这解决了上一个错误,但又出现了另一个错误:

java.lang.NoClassDefFoundError: Could not initialize class org.ghost4j.GhostscriptLibrary at 
org.ghost4j.Ghostscript.initialize(Ghostscript.java:323)

包含类GhostscriptLibrary的jar文件(ghost4j-1.0.1.jar)位于类路径中,它在我的Mac上本地完全正常。

我正在使用Ghostscript 9.22和Ghost4j 1.0.1

任何帮助都会很棒:)

1 个答案:

答案 0 :(得分:0)

我能够通过卸载Ghostscript并使用此页面http://www.linuxfromscratch.org/blfs/view/svn/pst/gs.html上的说明重新安装它来解决上述错误,并设置环境变量LD_LIBRARY_PATH以包含.so文件的路径。

这是一个无法正确加载本机库的问题,无论如何都会导致第二个错误。