最近做的一个Java
Web项目采用Struts2+Spring+HibernateJPA的标准架构,开发环境是win7,服务器部署环境是Ubuntu12.04,项目中有一个模块是采用JFreeChart生成图片,再创建并导入pdf文件中,开发完成后在windows下的tomcat6.0跑没有任何问题,但是部署到Ubuntu服务器上的tomcat6.0之后就不断出现问题。
最开始部署到Ubuntu服务器上的tomcat时,当要创建含图表的pdf文件时,报出如下异常:
java.awt.HeadlessException:No X11 DISPLAY variable was set, but this program performed an
operation which requires it.
at
java.awt.GraphicsEnvironment.checkHeadless(GraphicsEnvironment.java:159)
at
java.awt.Window.(Window.java:406)
at
java.awt.Frame.(Frame.java:402)
at
java.awt.Frame.(Frame.java:367)
at
javax.swing.JFrame.(JFrame.java:163)
上网查了一下,都说是没有配置Headless
Mode。Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往