欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

JFreeChart部署问题 博客分类: java jfreechart应用服务器WebsphereLinuxTomcat 

程序员文章站 2024-03-20 11:50:34
...

JFreechart部分在本地windows+tomcat下运行良好,但是放到服务器上linux+websphere后,图表图片不能正常显示,图片出显示红叉子,图片上的文字都不能显示。
这是因为所用到的图形部分的API基本上总是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。然而,运行一个不必要的X-server并不是一种好的网络管理方式。这个解决方案依赖于你的Java版本。如果你运行在JDK1.4上,那么你将有机会运行headless服务器。 -Djava.awt.headless=true
对于JDK1.3及更低的版本,有个来自eTeks的PJA工具包(Pure Java AWT Toolkit,纯Java AWT工具集)可以使用。它是一个在配置上与Sun的1.4版非常相似的headlessJava服务器,这种配置方式包含一组-D属性标志。你需要下载相关的jar(包括两个,pja.jar,pjatools.jar),将它们放到相应的路径下(如=/opt/WebSphere/AppServer/installedApps/tester/nzstat_war.ear/nzstat.war/dqchartdir,下面还包含了一个font文件夹,用来存放用到的字体,如simsun.ttc,可以从windows操作系统下获取)。在websphere5.0下进行下述操作:点击该应用程序服务器--点击"进程定义"--点击java虚拟机 在"类路径"框中,添加综合统计部署后 dqchartdir 文件夹在服务器上的全路径; 在"引导类路径"框中,添加综合统计部署后 dqchartdir 文件夹在服务器上的全路径下的pja.jar在服务器上的全路径; 在"一般JVM自变量"框中,添加如下内容 -Dawt.toolkit=com.eteks.awt.PJAToolkit -Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment -Djava2d.font.usePlatformFont=false -Djava.awt.fonts=/opt/WebSphere/AppServer/installedApps/tester/nzstat_war.ear/nzstat.war/dqchartdir/font
注意:
如果仍然有问题(如文字没有显示),那么通过locale命令查看当前操作系统的语言环境。对于 LANG 变量来说,有时候你即使在所有这些初始化脚本里面 export 过了,LANG 的值还是纹丝不动。实际上,你需要去修改 /etc/sysconfig/i18n 文件里面的内容。改为zh_CN.GB2312,重新启动计算机。
用cewolf开发的图表,在本地windows+tomcat下运行良好,但是放到服务器上linux+resin后,图表图片不能正常显示,图片出显示红叉子,有经验的来吧
是不是没有启用headless?
To run our environment with a headless implementation, the follow property may be specified at the java command line: -Djava.awt.headless=true Source code should check for headless, so that the exception may be caught gracefully.
对于一个Java服务器来说经常要处理一些图形元素,例如地图的创建或者图形和图表等。这些API基本上总是需要运行一个X-server以便能使用AWT(Abstract Window Toolkit,抽象窗口工具集)。然而,运行一个不必要的X-server并不是一种好的网络管理方式。

这个解决方案依赖于你的Java版本。如果你运行在JDK1.4上,那么你将有机会运行headless服务器。

-Djava.awt.headless=true

对于JDK1.3及更低的版本,有个来自eTeks的PJA工具包(Pure Java AWT Toolkit,纯Java AWT工具集)可以使用。它是一个在配置上与Sun的1.4版非常相似的headlessJava服务器,这种配置方式包含一组-D属性标志。

你需要下载相关的jar,将它们放到你的CLASSPATH中,然后设置下面的标志:

Dawt.toolkit=com.eteks.awt.PJAToolkit
Djava.awt.graphicsenv=com.eteks.java2d.PJAGraphicsEnvironment

在IBM的JDK下,你能找到下列所需的属性,这里我们将PJA的jar要放到lib/pja下:

Djava.awt.fonts=$JAVA_HOME/jre/lib/fonts
Djava2d.font.usePlatformFont=false
Duser.home=lib/pja

你可以从eTeks网站上下载PJA工具包。