验证码显示不了,报Could not initialize class sun.awt.X11Gra

新安装了服务器,重新安装了Tomcat,部署了Web应用后,发现JAVA图片验证码出不来,于是查看TOMCAT日志,

tail -f catalina.out

发现当访问"JAVA图片验证码"时,后台报错:

Could not initialize class sun.awt.X11GraphicsEnvironment

原来是没加载java.awt.headless

于是修改${TOMCAT_HOME}/bin/catalina.sh (windows修改catalina.bat)

部分后面加上  -Djava.awt.headless=true \  修改为如下:

 "$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
    -Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
    -Dcatalina.base="$CATALINA_BASE" \
    -Dcatalina.home="$CATALINA_HOME" \
    -Djava.io.tmpdir="$CATALINA_TMPDIR" \
    -Djava.awt.headless=true \
    org.apache.catalina.startup.Bootstrap "$@" stop   需要注意的是有好几处CATALINA_OPTS,修改完成后启动Tomcat,刷新验证码OK。

附我修改后的apache-tomcat-6.0.9的启动脚本:


你可能感兴趣的:(验证码显示不了,报Could not initialize class sun.awt.X11Gra)