1

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

我用 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。

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

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

任何帮助都会很棒:)

4

1 回答 1

1

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

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

于 2018-02-12T17:46:46.850 回答