验证码无法显示:Could not initialize class sun.awt.X1 GraphicsEnvironment解决方案
网站验证码突然无法显示,并报如下错误。
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
Caused by: java.lang.InternalError: Can't connect to X11 window server using 'localhost:10.0' as the value of the DISPLAY variable.
网上搜索了一下,在catalina.sh里加上一句“-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");
修改${TOMCAT_HOME}/bin/catalina.sh或${TOMCAT_HOME}/bin/catalina.bat文件:
在所有类似以下代码:
"$_RUNJAVA" $JAVA_OPTS $CATALINA_OPTS \
-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
-Djava.security.manager \
-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
-Dcatalina.base="$CATALINA_BASE" \
-Dcatalina.home="$CATALINA_HOME" \
-Djava.io.tmpdir="$CATALINA_TMPDIR" \
在尾部加上一句:
-Djava.awt.headless=true \
修改后内容如下:
exec "$_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 \
以tomcat6.0为例,总共有七处这样的地方,修改好后即可。
验证码无法显示:Could not initialize class sun.awt.X1 GraphicsEnvironment解决方案相关推荐
- weblogic .NoClassDefFoundError: Could not initialize class sun.awt.X11Graphi
这个是常见问题,可以通过增加Weblogic的启动参数来解决: -Djava.awt.headless=true 你可以修改 startWebLogic.sh 文件. export JAVA_OPTI ...
- java:提示Could not initialize class sun.awt.X11GraphicsEnvironment
java:提示Could not initialize class sun.awt.X11GraphicsEnvironment 问题: 启动tomcat提示 Could not initialize ...
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
处理一个老项目时遇到这样的BUG Message javax.servlet.ServletException: java.lang.NoClassDefFoundError: Could not i ...
- 抛错java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
参考博客: https://blog.csdn.net/pierre_/article/details/47363985 https://blog.csdn.net/catoop/article/de ...
- 【ERROR】java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit
tomcat 出现java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit运行时异常,主要原因是图 ...
- 验证码无法显示:Could not initialize class sun.awt.X11GraphicsEnvironment 解决方案
一.原因现象:图下图 二.原因导致: 经过Google发现很多人也出现同样的问题.从了解了X11GraphicEnvironment这个类的功能入手,一个Java服务器来处理图片的API基本上是需要运 ...
- Could not initialize class sun.awt.X11GraphicsEnvironment
报错: 解决办法: 进入weblogic目录: 修改 startWebLogic.sh 文件.(加上红色部分即可) export JAVA_OPTIONS=-Djava.awt.headless=tr ...
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
网上搜索了一下,在catalina.sh里加上一句"-Djava.awt.headless=true \",问题解决. 经查,出现这种情况一般就是启动tomcat的用户无法访问Xs ...
- tomcat java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
原因: 对于一个Java服务器来说经常要处理一些图形元素,例如地图的创建或者图形和图表等.这些API基本上总是需要运行一个X-server以便能使用AWT(Abstract Window Toolki ...
最新文章
- 如何理解最小二乘法(19世纪的统计学就相当于18世纪的微积分对于数学的地位)
- 阿里云发布新一代CDN 6.0 主打云与大数据融合
- The J2EE Architect's Handbook
- 自动生成WebForm中对实体类的编辑页面
- 浅析ThreadLocal
- Codeforces 446C. DZY Loves Fibonacci Numbers【斐波那契+线段树】
- beatsx三闪红灯是什么意思_飞机座椅上写的quot;taxiquot; 什么意思?出租车?
- Windows下AndroidStudio 中使用Git(AndroidStudio项目于GitHub关联)
- 【转】灵格斯词霸怎样在 PDF 文档中取词?
- 最少承诺原则和单一职责原则_单一责任原则
- jdbc常见异常及错误解决办法汇总
- 举个栗子!Tableau 技巧(109):用 LOD 计算产品销售周期
- 标学历年真题2016年版 真考题库1 电子表格
- 病毒下载器利用搜索引擎广告推广,推装超过30款软件
- 微信小程序页面添加背景图,图片全屏显示
- android app连接打印机程序,Android App新增打印机支持 手机打印就是爽
- MOSFET管驱动电路图
- SOEM 源码解析 ecx_lookup_prev_sii
- 19年深圳二手房交易分析
- 麒麟KY-RTI分布仿真技术:前言