linux下需要图形桌面xserver来支持awt包,j2sdk1.3一下需要启动桌面程序或者使用虚拟桌面(如xvfb)j2sdk1.4可以使用 -Djava.awt.headless=true参数
解决方案 »
- 怎样实现使用https协议,对用户名和密码进行加密?
- 一个servlet连接Mysql的问题帮忙看看
- 一个做投票的小项目
- Jboss 如何尽兴热部署啊。
- 在<jsp:useBean>调用的.class里,怎么直接向网页上输出东西啊?
- 关于来访网站分析的问题
- 想学java,选择工具,不知jbuilder和eclipse哪个好,有优势
- 错误--lomboz--jspRuntimeLibrary can't be resolved---错误在lomboz里,不解
- 紧急求救!!!!
- 怎么注册服务或类似的功能,巨分等候!
- 新手求助!!!JSP提交页面居然找不到JAVABEAN!!!(在线等)
- 路径问题,请高手解决
支持 j2sdk1.4
主机我是改不了的了,是能是改程序
1:将jdk升级为jdk1.4,然后加上运行参数 –Djava.awt.headless=true 即可。
2:虚拟一个图形环境。一般在linux下使用Xvfb来虚拟一个图形环境,在linux命令行键入Xvfb :0 -screen 0 1024x768x16 & ,不过在使用之前要对Xvfb进行设置。我在本机上没有调试成功。各位可以试一下。
3:使用第三方工具包。可以使用 pja包,下载地址 http://www.eteks.com/pja/en/#Download ,使用方法见解决方案。解决方案:将pja.jar ,pjatools.jar拷贝到weblogic的lib目录下,在startWebLogic.sh中将这两个文件加入到CLASSPATH中,然后将以下文字加入到$JAVACMD中,其中
/usr/java/jdk1.3.1_06 是指java的安装目录
/home/weblogic/wlserver6.1/lib 是指 pja.jar ,pjatools.jar的存放目录-Xbootclasspath/a:/usr/java/jdk1.3.1_06/lib/rt.jar:/home/weblogic/wlserver6.1/lib/pja.jar -Djava.awt.toolkit=com.eteks.awt.PJAToolkit -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment -Djava.awt.fonts=/usr/java/jdk1.3.1_06/jre/lib/fonts
添加后执行会出现一些说 font找不到的提示,不用理他。
讨论:这个问题在java中称为headless问题,是jdk1.3的bug,bug报告见http://developer.java.sun.com/developer/bugParade/bugs/4281163.html 。jdk1.4已经做了修正,文档见http://java.sun.com/j2se/1.4.1/docs/guide/awt/AWTChanges.html。
我对这个问题的理解:headless是指由于一些服务器(比如大型机)运行的环境比较特殊,不存在真实的设备去处理一些输入输出,比如显卡,键盘鼠标;这时就需要虚拟一些运行环境出来,或者就不要用到这些设备的相关操作(比如输入输出)。然而运行java.awt包又需要一个的图形环境,由此产生了异常。