Could not initialize class sun.awt.X11.XToolkit Error
来源:互联网 发布:张艺谋电影 知乎 编辑:程序博客网 时间:2024/05/17 07:21
问题描述
Weblogic应用中,有个上传图片功能,总是在上传时终止执行,无法上传成功。
服务器的Weblogic环境配置:
* jdk1.6.0_18 + linux-64
* Oracle Weblogic Server 10.3.3.0
后台报错信息:
<2015-8-7 下午07时24分08秒 CST> <Error> <HTTP> <BEA-101017> <[ServletContext@21247461[app:img_system module:img_system.war path:/img_system spec-version:null]] Root cause of ServletException.java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:169) at java.awt.Toolkit$2.run(Toolkit.java:834) at java.security.AccessController.doPrivileged(Native Method) at java.awt.Toolkit.getDefaultToolkit(Toolkit.java:826) Truncated. see log file for complete stacktrace>
从报错信息分析,是找不到类,无法初始化sun.awt.X11.XToolkit。
解决方案
在Weblogic的启动脚本中,修改Java命令启动选项,增加“-Djava.awt.headless=true”,以启用Headless模式,然后重启Weblogic即可。
其他可能方案:更新jdk,目前环境采用的jdk为jdk1.6.0_18,版本比较旧。
原因分析
java.awt.toolkit和java.awt.graphicsenvironment类中有许多方法,除了对字体,图像和打印的操作外还有调用显示器,键盘和鼠标的方法。对于Linux环境,则需要依赖X-server的支持,然而因为某些原因导致无法初始化而报错。此时,可以采用JRE提供的headless模式(从J2SE 1.4开始Java平台提供了对Headless模式的支持)。
关于Headless模式,是指在缺少显示屏、键盘或鼠标时的系统配置。当系统应用需要自行生成图片时,可能会用到该模式。
延伸阅读
- 关于如何在JavaSE平台上使用Headless模式。
0 0
- Could not initialize class sun.awt.X11.XToolkit Error
- Oracle12C安装:Could not initialize class sun.awt.X11.XToolkit
- weblogic环境,应用上传图片报Could not initialize class sun.awt.X11.XToolkit
- java.lang.NoClassDefFoundError: Could not initialize class sun.awt.X11.XToolkit异常解决
- Fedoa22 解决oracle 12c 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
- 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
- tomcat8出现Could not initialize class sun.awt.X11GraphicsEnvironment问题
- Could not initialize class sun.awt.X11GraphicsEnvironment解决
- IOS开发基础篇--NSNotificationCenter使用小结
- [BZOJ2733][HNOI2012]永无乡
- BestCoder Round #50 (div.2)
- Django 1.8 官方教程翻译(第一部分)
- 《深入浅出struts2》--第23章,自定义插件
- Could not initialize class sun.awt.X11.XToolkit Error
- CentOS6编译安装LAMP:编译安装 PHP5
- ACM中关于Output Limit Exceeded和Time Limit Exceeded
- 排序算法
- 堆和栈
- 使用API 第四章web scraping with python
- 数组去重复
- 游戏交互设计中的114条原则
- uva725除法uva11059最大乘积uva10976分数拆分(暴力求解法)