linux 环境应用后台 java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 异常处理

Posted himay

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux 环境应用后台 java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 异常处理相关的知识,希望对你有一定的参考价值。

Linux环境部署的应用,首页登录的验证码无法显示,密码框不加载。

该验证码是用java的图片包来处理图片的,查看后台日志,发现报 java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 异常,这是因为java虚拟机在处理图片时需要本地的x-server的支持,解决方法有两种:

1. java 1.4版本及以上

   修改启动java参数,加上参数:-Djava.awt.headless=true  

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

一般 JVM 自变量  添加 -Djava.awt.headless=true

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

2. java 1.4版本以前

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

 

重启生效。

以上是关于linux 环境应用后台 java.lang.NoClassDefFoundError: sun.awt.X11GraphicsEnvironment 异常处理的主要内容,如果未能解决你的问题,请参考以下文章

Linux环境下如何终止后台进程

Hudson安装配置部署应用及分析

linux系统环境下,怎样在后台才能获取到mac地址?

想请大神写一个在linux环境下用shell脚本控制jar的启动和停止,类似于一个后台服务那种的。

搭建后台环境linux搭建服务

SpringBoot解决Failed to start bean ‘documentationPluginsBootstrapper‘; nested exception is java.lang.N