一大早来到公司,发现jsp验证码不能显示。查tomcat日志:“Could not initialize class sun.awt.X11GraphicsEnvironment”。网上搜索了一下,在catalina.sh里加上一句“CATALINA_OPTS= -Djava.awt.headless=true”,问题解决。
经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问。加上。
以下为转贴:
1. 什么是Headless mode?
Headless模式是系统的一种配置模式。在该模式下,系统缺少了显示设备、键盘或鼠标。
2. 何时使用和headless mode?
Headless模式虽然不是我们愿意见到的,但事实上我们却常常需要在该模式下工作,尤其是服务器端程序开发者。因为服务器(如提供Web服务的主机)往往可能缺少前述设备,但又需要使用他们提供的功能,生成相应的数据,以提供给客户端(如浏览器所在的配有相关的显示设备、键盘和鼠标的主机)。
3. 如何使用和Headless mode?
一般是在程序开始激活headless模式,告诉程序,现在你要工作在Headless mode下,就不要指望硬件帮忙了,你得自力更生,依靠系统的计算能力模拟出这些特性来:
System.setProperty("java.awt.headless", "true");
要么这样试试,应该也可以。在servlet里一开始写一句:
System.setProperty("java.awt.headless","true");
web服务器的java虚拟机必须加以个参数java.awt.headless=true
以tomcat为例
可以在/etc/profile或启动web服务的用户的.bash_profile中的CATALINA_OPTS变量中加入:
CATALINA_OPTS="... -Djava.awt.headless=true"
其他的也可以看看启动脚本。只要加上这个参数就没问题了。
分享到:
相关推荐
NULL 博文链接:https://smartgwt.iteye.com/blog/1252268
监听COM口启动程序报错 Could not initialize class gnu.io.RXTXCommDriver异常 是因为需要在%JAVA_HOME%/jre/bin目录中添加rxtxParallel.dll、rxtxSerial.dll文件
NULL 博文链接:https://yuhuiblog695685688425687986842568269.iteye.com/blog/2414873
内涵jacob_1.14.3-x64.dll;jacob_1.14.3-64.jdk(maven地址);解决方法:Could not initialize class com.jacob.com.ComThread
使用javacpp技术,在32位linux系统上实现视频截图功能,注意so文件放在liberary_path里面
java.lang.NoClassDefFoundError: Could not initialize class org.apache.derby.jdbc.AutoloadedDriver40 导致的原因: 在azkaban的server和executor中缺少一个叫derby.jar的包
2020/5/29 上午8:40:11 at sun.awt.FontConfiguration.getVersion(FontConfiguration.java:1264) 2020/5/29 上午8:40:11 at sun.awt.FontConfiguration.readFontConfigFile(FontConfiguration.java:219) ...
解决obiee12c图形图表不显示问题 java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
JSONArray.fromObject(map)报错:Could not initialize class net.sf.json.JsonConfig。ireport 需要高于2.1版本的包。于是就找了这些包。最后2.2.2适合
缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig 使用json时候将会用到的一个jar包,发现这个包在网上提供的比较少.缺少这个包可能导致Could not initialize class net.sf.json.JsonConfig ...
主要介绍了Plsql Developer连接Oracle时出现Could not initialize oci.dll解决方案,需要的朋友可以参考下
在学java2的用户,不妨看看
Tesseract OCR API的Java JNA包装器 Tess4J API 提供的功能: 1、直接识别支持的文件 2、识别图片流 3、识别图片的某块区域 4、将识别结果保存为 TEXT/ HOCR/ PDF/ UNLV/ BOX 5、通过设置取词的等级,提取识别出来...
jdbc-odbc驱动包,提示找不到驱动,java.lang.ClassNotFoundException: sun.jdbc.odbc.JdbcOdbcDriver, 原因:从jdk从1.8开始,删除了jdbc-odbc桥,所以odbc的驱动是用不了的 解决方法:这里为提供一个解决JDK1.8不...
前端纯js加密、以及后端java解密代码。...常用的主要有SM2,SM3,SM4。 ...该算法已公开。由于该算法基于ECC,故其签名速度与秘钥生成速度都快于RSA。 SM3:消息摘要。可以用MD5作为对比理解。该算法已公开。...
dbeaver中连接impala所需jdbc包,适用于CDH5.16.2,impala2.12
本代码为本人最近开发用过的demo,前端后端的代码都已包括,只需根据自己的需求稍作修改即可;
tess4j_linux_x86_64 tesseract在服务器部署时(linux)需要的.so文件 <groupId>... <artifactId>tess4j <version>3.0.0 <groupId>com.sun.jna</groupId> <artifactId>jna </dependency>
NULL 博文链接:https://ajaxcn.iteye.com/blog/2288977
XP系统在回放LoadRunner11录制脚本时提示“Vuser failed to initialize extension LrXml.dll”的解决方法