Linux服务器部署Ghost4j时GhostscriptLibrary初始化失败问题求助
解决Ghost4j无法初始化GhostscriptLibrary的问题
我之前在Linux服务器上部署依赖Ghost4j的PDF工具时,遇到了和你一模一样的问题:明明已经通过LinuxBrew装好了Ghostscript,还把它的二进制路径加到了$PATH里,但运行时还是抛出java.lang.NoClassDefFoundError: Could not initialize class org.ghost4j.GhostscriptLibrary的错误。
后来查了相关问题才明白,这是因为JVM找不到Ghostscript的核心共享库文件libgs.so——LinuxBrew安装的Ghostscript会生成带版本号的库文件(比如libgs.so.9.22),但Ghost4j默认找的是不带版本号的libgs.so。
解决步骤很简单:
- 先找到你LinuxBrew安装的Ghostscript的库文件路径,比如我的是
path/to/Ghostscript/lib/libgs.so.9.22 - 执行下面的命令,给这个版本化的库文件创建一个软链接到系统默认的库目录:
ln -s path/to/Ghostscript/lib/libgs.so.9.22 /usr/lib/libgs.so
做完这一步之后,再运行你的PDF工具,GhostscriptLibrary就能正常加载并执行了。
内容的提问来源于stack exchange,提问作者Celina
相关产品推荐
相关产品推荐

