Tomcat couldnotinitializeclasssun.awet.X11GraphicsEnvironment
来源:互联网 发布:h3c交换机查看mac地址 编辑:程序博客网 时间:2024/05/22 03:07
网站验证码突然无法显示,并报如下错误。之前也出现过这个错误,不过不是验证码,不管怎样反正都是一样的问题。
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 \
总共有七处,改完重启即可解决
- Tomcat couldnotinitializeclasssun.awet.X11GraphicsEnvironment
- tomcat验证码出不来:Could not initialize class sun.awt.X11GraphicsEnvironment
- Tomcat 5.5下报出异常Could not initialize class sun.awt.X11GraphicsEnvironment
- Tomcat 5.5下报出异常Could not initialize class sun.awt.X11GraphicsEnvironment .
- Linux下Tomcat中POI导出异常:java.lang.NoClassDefFoundError: sun/awt/X11GraphicsEnvironment
- tomcat移植到weblogic时,sun.awt.X11GraphicsEnvironment报错和html页面显示中文乱码
- linux sun/awt/X11GraphicsEnvironment
- linux sun/awt/X11GraphicsEnvironment
- Codeforces 621AWet Shark and Odd and Even
- 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
- String nm = "sun.awt.X11GraphicsEnvironment";
- Could not initialize class sun.awt.X11GraphicsEnvironment
- Coule not initialize class sun.awt.X11GraphicsEnvironment
- 【代码练习6】利用多线程生产消费问题实现熊吃蜂蜜问题
- PyTorch 特征
- Bytes("ISO8859-1"),"GBK")的实质
- SpringBoot入门-12(springboot配置servlet,利用代码实现)
- maven 打包错误解决:Failed to execute goal org.apache.maven.plugins:maven-surefire-plugin:2.5:test
- Tomcat couldnotinitializeclasssun.awet.X11GraphicsEnvironment
- CppPrimer自学(3)公有继承
- this与super的区别
- scrollview和gridview嵌套使用的注意事项
- 为什么会需要消息队列(MQ)?
- Git指令集
- Windows 如何将分卷文件合并为一个文件
- AuxKlibQueryModuleInformation---from ddk 文档
- Python 入门实践