在一些linux环境中,尤其是server版中如果工程中使用了图片生成功能,在tomcat启动过程可能会出现如下错误
Caused by: java.lang.UnsatisfiedLinkError: /root/jdk1.7.0_45/jre/lib/amd64/xawt/libmawt.so: libXrender.so.1: cannot open shared object file: No such file or directory。
我在遇到这个问题时使用的是ubuntu14 server版,解决方法之一是根据报错把相关的X11的库安装上去。
但在测试过程中发现跟ssh客户端有着一定关系,使用Xshell的时候会报这个错误。但是使用SecureCRT就不会报错。因此采用下面的做法也可能会解决这个问题。
研究了一番发现,使用Xshell的时候登陆后的环境变量中会比SecureCRT登陆后的环境变量多出一条
DISPLAY=localhost:10.0
最终确定就是这个环境变量捣的鬼。
原因是Xshell支持SSH协议下的X11界面。把Xshell属性中的此设置去掉即可解决。如下图