验证码无法显示:Could not initialize class sun.awt.X11GraphicsEnvironment 解决方案
2024-10-19 07:51:33
一、原因现象:图下图
二、原因导致:
经过Google发现很多人也出现同样的问题。从了解了X11GraphicEnvironment这个类的功能入手,一个Java服务器来处理图片的API基本上是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。所以,问题肯定出在启动server时,未能实现X-Server功能。root用户未启动XServer,mmcse中启动了XWindow。so问题来了。
三、解决方法:
1. 安装XServer(忽略,因为服务器本身软硬件环境基本没动过);
2. 运行headless服务器-Djava.awt.headless=true (需要JDK1.4以上版本)。重点来看这种解决方案(详见参考资料,但主要涉及的是Webapp,设置webserver。我们的场景是在applet client作图,然后在server端处理成png并保存)
具体解决办法:在各个server服务的java -jar启动命令增加选项-Djava.awt.headless=true,问题解决(Google是王道)!!
如果是在web server中,则在server的启动脚本中增加相同选项。
linux如下:
四、参考资料
1. linux中servlet画图问题的解决
2. Java官网的headless support
3. java.awt.headless=true的含义
最新文章
- [LeetCode] Sort Transformed Array 变换数组排序
- jQuery鼠标滚动垂直全屏切换代码
- Windows 双网卡指定网络出口
- iOS开发中几个重要的方法
- 从客户端中检测到有潜在危险的Request.Form值的解决方法
- Java注解实践--annotation学习三
- UVa 1400 (线段树) ";Ray, Pass me the dishes!";
- HttpClient 建立http连接,https连接,传输数据文件
- php源码分析之php_info输出中css样式是怎么来的
- 1709: [Usaco2007 Oct]Super Paintball超级弹珠
- 海康/大华 IpCamera RTSP地址和格式
- Browser Object Model
- 机器学习之十一问支持向量机(SVM)
- 设计模式のTemplatePattern(模板模式)----行为模式
- GAN 教程记录
- setTimeout设置为0的意义
- Zabbix-Agent在主动模式启动服务后,提示no active checks on server [139.219.xx.xx:10051]: host [139.219.xx.xx] not found
- ArchLinux - 安装指南
- Python168的学习笔记5
- Ajax datatype:'JSON'的error问题Status1:200,JSON格式
热门文章
- Windows 安装 RabbitMQ
- java多线程机制1(线程创建的两种方式)
- 【BZOJ】4358: permu 莫队算法
- 【CF802C】 Heidi and Library (hard)(费用流)
- APP爬虫之Appium使用
- uboot之---make smdk2410_config命令详细解析
- 用C#实现对MSSqlServer数据库的增删改查---Server层(WaterLevelRecordServer.cs、DeviceRecordServer.cs)
- shell读取文件的每一行内容并输出【转】
- laravel 上传文件到亚马逊 aws s3
- SuSE Linux Supervisor的安装与使用案例