网站群应用中遇到的一个问题,整理一下,和大家分享。
  1) 问题描述:
          登录页面等有验证玛显示的页面,通常可以正确显示验证码图片,但是在某些情况下发现验证码图片无法显示,上传图片后无法保存文章,或者文章计数器无法正常显示,直接访问计数器,页面报错 ,报错信息如下:
        java.lang.NoClassDefFoundError
   java.lang.Class.forName0(Native Method)
   java.lang.Class.forName(Class.java:164)
   java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68)
   java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1141)
   java.awt.image.BufferedImage.getGraphics(BufferedImage.java:1131)
   com.sudytech.webplusdc.sitecount.ArticleCountServlet.processRequest(ArticleCountServlet.java:49)
   com.sudytech.webplusdc.sitecount.ArticleCountServlet.doGet(ArticleCountServlet.java:78)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:690)
   javax.servlet.http.HttpServlet.service(HttpServlet.java:803)
  
  
  2)解决方案
        一开始误认为是缺少class文件导致,查看近期部署记录,发现该情况出现的可能性比较低,同事提醒我试着看看tomcat是否有问题,于是查看了tomcat日志,发现如下信息
  " Can't connect to X11 window server using '10.0' as the value of the DISPLAY variable."
      奇怪的是,我并没有用window平台呀??????????
      通过网上搜索,发现类似问题的解决方案,在tomcat启动文件中加入:
          #! /bin/sh
          unset DISPLAY
          #....    
      重启tomcat,问题居然都好了……
      悲剧的我,2个小时的时间就这么过去了……
  
  
  参考文章:http://skydream.iteye.com/blog/133359