我使用ghost4j GhostScript
在网络应用程序中管理 TIFF 和 PDF 文件。
我使用 Maven
将 Ghost4J
包含到我的项目中,并将 Ghostscript
安装到 C:\Program Files\gs\...
但在此之后我仍然收到错误:
java.lang.UnsatisfiedLinkError: Unable to load library 'gsdll64'
要解决此问题,我必须将文件 gsdll64.dll
放置在工作目录(通常为 c:\eclipse
)中,名称为 proposed here .
到目前为止,一切都很好,但是当我在集成环境(win7
和 tomcat7
)中部署应用程序时,我收到此异常:
org.springframework.web.util.NestedServletException: Handler processing failed; nested exception is java.lang.NoClassDefFoundError: Could not initialize class org.ghost4j.GhostscriptLibrary.
我将 Ghostscript
安装到主机中的 C:\Program Files\gs\...
中,如 this discussion 所示我用 try {} catch (Exception e)
包装了代码,但似乎没有帮助。
知道我应该将 gsdll64.dll
放置在哪里或如何解决该错误吗?
最佳答案
一种解决方案是将 dll 添加到 %JAVA_HOME%/jre/bin
,因为它通常位于 PATH 上。
或者将包含 dll 的目录添加到 PATH,因为在 Windows 上,java.library.path
是从 PATH 环境变量初始化的。
检查this thread on StackOverflow供引用。
对于Tomcat 7,可以将gsdll64.dll
复制到%TOMCAT_HOME%\bin
目录或在%下创建
目录包含以下条目。setenv.bat
TOMCAT_HOME%\bin
set PATH=%PATH%;C:\gs\gs9.18\bin
其中 C:\gs\gs9.18
是已安装的 Ghostscript 文件夹。对此请查看 Apache Tomcat Native Library 安装文档。
关于java - 我应该将gsdll64.dll放在Windows7和tomcat7主机中的哪里?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34859244/