非windows下不太图形环境使用报表问题

报表问题">客户系统为linux,上边部署润乾报表,访问普通报表时能够正常展现,但是访问带统计图或者带表头斜线时报表无法展现,后后台错误信息:

java.lang.NoClassDefFoundError

at sun.java2d.Disposer.addRecord(Disposer.java:68)

at sun.awt.image.BufImgSurfaceData.initRaster(Native Method)

at sun.awt.image.BufImgSurfaceData.createDataIC(BufImgSurfaceData.java:238)

at sun.awt.image.BufImgSurfaceData.createData(BufImgSurfaceData.java:76)

at sun.java2d.SunGraphicsEnvironment.createGraphics(SunGraphicsEnvironment.java:336)

这是一个典型的图形环境问题,即使不用润乾报表自己写程序生成图形时也会报该错误,解决办法:

一:升级jdk,目前已经验证该错误时jdk1.3上的bug,升级jdk即能解决问题。

二:安装图形环境,启动X-window,然后在图形环境中再启动web服务器,为了避免多次重复启动,可在客户端安装xmanager,建立和服务器的远程连接,这样就能通过远程形式对服务器进行管理。

三:pja形式。

由于前两种方式需要对服务器的jdk版本做更改或者要启动图形环境,如果两种方式客户都无法接受可采用第三种方式,通过pja在服务器上模拟一个图形环境,这样就能够对图形进行相关的处理。

1.       下载pja.jarpjatools.jar,并将这两个jar包放在服务器的某目录上

2.       设置web服务器的启动类路径并修改jvm参数,下面以jboss为例看下实际的操作

1)系统类路径:

在启动jboss的时候确保下面pja.jarpjatools.jar包存在于系统classpath中,假设您将这两个jar文件放在/usr/WebSphere/AppServer/java/lib/pja/下,可以对JBOSS_CLASSPATH进行设置:

JBOSS_CLASSPATH=”$JBOSS_CLASSPATH:/usr/WebSphere/AppServer/java/lib/pja/pja.jar:/usr/WebSphere/AppServer/java/lib/pja/pjatools.jar”

其中$JBOSS_CLASSPATHJBOSS_CLASSPATH系统类路径

 

2)修改jvm启动参数

修改jboss启动命令增加或者修改如下参数

-Xbootclasspath/a:$JAVA_HOME/lib/rt.jar:/usr/WebSphere/AppServer/java/lib/pja/pja.jar  

-Djava.awt.toolkit=com.eteks.awt.PJAToolkit  

-Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment  

-Djava.awt.fonts=$JAVA_HOME/jre/lib/fonts

-Djava2d.font.usePlatformFont=false

其中$JAVA_HOMEjdk安装目录。

然后重启web服务器,这样带图形报表就能够正常展示。

附件中有修改后的jboss的启动文件可做参考

本文标签: