JFreechart部分在本地windows+tomcat下运行良好,但是放到服务器上unix+tomcat后,图表图片不能正常显示,图片出显示红叉子,图片上的文字都不能显示。
在网上搜索了许多相关问题,终于找到问题根源:
java在*unix平台实现绘图功能时,依赖于操作系统XServer进行绘图。从终端界面启动时,无法调用。
详细解释以及解决方式如下:
http://qjmouse.javaeye.com/blog/296092
系统使用jfreechart画图,在部分*unix系统中出现问题,解决方法如下,其他类似问题也可以参考解决
1.图形无法显示,异常为:Can't connect to X11 window server using ':0.0' as
the value of the DISPLAY variable.
原因:java在*unix平台实现绘图功能时,依赖于操作系统XServer进行绘图。从终端界面启动时,无法调用。
解决:使用java的headles模式,不调用操作系统本地资源。
配置:进入到was控制台 > 服务器 > 应用程序服务器 > servername > 进程定义 >
Java 虚拟机,设置“通用 JVM 实参” 为
“-Djava.awt.headless=true”,重启WAS。
2.可以绘图,但中文显示为方块
原因:jdk默认使用英文的font.properties描述文件
解决:将字体描述文件替换为中文版,进入WAS使用JRE的lib目录,如/opt/IBM/WebSphere/AppServer/java/jre
/lib,备份原font.properties,将font.properties.zh改名为font.properties,重启WAS。
转载于:https://blog.51cto.com/liying/967764