tomcat8出现Could not initialize class sun.awt.X11GraphicsEnvironment问题
来源:互联网 发布:规律转移矩阵 编辑:程序博客网 时间:2024/06/01 09:23
网站验证码突然无法显示,并报如下错误。之前也出现过这个错误,不过不是验证码,不管怎样反正都是一样的问题。
Caused by: java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
网上搜索了一下,在catalina.sh里加上一句“-Djava.awt.headless=true \”,问题解决。
经查,出现这种情况一般就是启动tomcat的用户无法访问Xserver,包括Xserver没有启动或者没有权限访问.
以下为网上关于Headless mode的解释:
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 \
直接搜索查到-Djava.io.tmpdir="$CATALINA_TMPDIR"这行,并在这一行下加入:
-Djava.awt.headless=true \
总共有七处,改完重启即可解决。
- tomcat8出现Could not initialize class sun.awt.X11GraphicsEnvironment问题
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment解决
- Linux jdk :Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment解决
- tomcat验证码出不来:Could not initialize class sun.awt.X11GraphicsEnvironment
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11GraphicsEnvironment
- Could not initialize class sun.awt.X11GraphicsEnvironment解决
- 验证码无法显示,服务器端出现异常:Could not initialize class sun.awt.X11GraphicsEnvironment
- 验证码无法显示,服务器端出现异常:Could not initialize class sun.awt.X11GraphicsEnvironment
- weblogic 验证码 不显示问题 Could not initialize class sun.awt.X11GraphicsEnvironment解决方案
- PAT乙级(Basic Level)真题 数素数(素数筛法)
- c++基础 类的设计
- javascript中模拟实现java语言中的map
- hadoop的hive sql语句总结
- JS深入之你知道点号(.)是怎么玩的吗?(二)
- tomcat8出现Could not initialize class sun.awt.X11GraphicsEnvironment问题
- C语言实现单链表
- Activemq管理和基本介绍
- iOS网络编程之系统架构
- Linux(二) 之 入门vi
- Ansible
- Eclipse快捷键大全
- VBA代码实例---根据分数判断等级
- React Native网络请求(Frisbee网络框架)