当前位置:   article > 正文

java createjpeg4_在linux下用java的JPEGCodec.createJPEGEncoder(bos)生成jpg图片问题

jdk11 jpegcodec.createjpegencoder

在rh8   linux   下用java的JPEGCodec.createJPEGEncoder(bos)生成jpg图片,XServer已启动。出现如下问题

错误提示如下

java.lang.InternalError:   Can't   connect   to   X11   window   server   using   ':0.0'   as   the   value   of   the   DISPLAY   variable.

at   sun.awt.X11GraphicsEnvironment.initDisplay(Name)

java.lang.InternalError:   Can't   connect   to   X11   window   server   using   ':0.0'   as   the   value   of   the   DISPLAY   variable.

at   sun.awt.X11GraphicsEnvironment.initDisplay(Native   Method)

at   sun.awt.X11GraphicsEnvironment.(X11GraphicsEnvironment.java:59)

at   java.lang.Class.forName0(Native   Method)

at   java.lang.Class.forName(Class.java:120)

at   java.awt.GraphicsEnvironment.getLocalGraphicsEnvironment(GraphicsEnvironment.java:58)

在win2000下代码完全正常。

服务器在字符环境下java无法创建图片的解决办法

解决方案:将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包又需要一个的图形环境,由此产生了异常。

这个问题的解决办法有三个:

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   ,使用方法见解决方案。

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/我家自动化/article/detail/715653
推荐阅读
相关标签
  

闽ICP备14008679号