JAVA 在linux下面生成验证码异常问题

应用部署到Linux下,结果首页登录的验证码显示不出来。该验证码是用java的图片包来处理图片的,后台日志报错:java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 这种异常,这是因为java虚拟机在处理图片时需要本地的x-server的支持,解决方法有两种:

1 java 1.4版本以上

   启动java时加上参数:-Djava.awt.headless=true  例如:我们在启动tomcat时在启动命令行里面加上这个参数就可以了.

 对于 websphere 则进入应用程序服务器 > server1 > 进程定义 > Java 虚拟机

一般 JVM 自变量  :-Dfile.encoding=GBK -Ddefault.client.encoding=GBK -Djava.awt.headless=true

对应weblogic,则进入 环境 > 服务器 > 对应服务器名 > 配置 > 服务器启动,在“参数”里面,增加以上部分。

2 java 1.4版本以前

   下载xvfb或者其他的虚拟x-windows,然后在java的运行环境里的DISPLAY做相应的改变.

注意:服务需要重启后,设置才能生效。

你可能感兴趣的:(java)