同一个应用,在windows平台下开发,测试阶段没问题,然后部署到linux平台下,使用IE浏览器访问,验证码(验证码以图片形式展现),总是显示不出来。然后,改用火狐浏览器,直接在浏览器抛出:
java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:68) at java.awt.image.BufferedImage.createGraphics(BufferedImage.java:1135) at java.awt.image.BufferedImage.getGraphics(BufferedImage.java:1125)
而且,比较诡异的一个现象就是,我在IE下访问,总是会把我本机的Xmanager启动起来。
搜索一下此问题,出现这种情况一般就是启动AAS的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问。
在AAS的启动参数中加上了“-Djava.awt.headless=true”,重新启动AAS,使用IE访问,正常,也不再会把本机的Xmanager起来,在FF下访问,OK,也正常!