jfreechart图表在linux上运行不显示的问题.txt

公司项目用JFreechart统计图表显示,代码接手后在本地正常。迁移到Linux服务器后,图表显示出错。经排查,是因图表程序通过AWT实现,Linux下若无X window则无法绘图。最终通过设置export DISPLAY=:0并重启机器解决问题。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

        公司项目中要求用JFreechart统计图表显示. 这部分代码几乎全是由别人写的,后来撤啦,全部的代码扔给了我,慢慢的去看了,大概了解了一下实现过程,无非是调用Jfreechart里面的一些方法吧了,不是太难,以前别人发布显示正常不正常我不知道,但接手过来后在我的机器上显示正常的,程序不出错人就是最轻松的啦,有空干自己想干的事情.

        现在要把这些东东移到linux上去啦,对linux也不熟,一边问人一边在网上找答案,
  总算是装上JDK与服务器啦,接下来发布应用程序,一步步功能测试下来.没什么,可是到了图表显示的地方,却总是出错,
       点击显示饼图时出现如下错;
Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable.

在显示饼图时提供了一个显示三维图像的选项,当选中那个选项后又出现如下错:

org.apache.jasper.JasperException: org.jfree.chart.plot.PiePlot

还有几个图表,边界图,曲线图等,有的显示出错信息,有的页面一片空白,开始还以为程序代码有问题.想了想也觉得不可能,后来又以为自己代码没有与我机器上发布的相一致,又重新覆盖了一次,再试,:( 还是一样,花费了我好长时间,最后还是去问了一朋友,他告诉我啦.
原来这个错:"Can't connect to X11 window server using ':0.0' as the value of the DISPLAY variable."的原因是:

"这个错误是因为图表程序是通过AWT实现的,AWT会调用操作系统本地窗口资源绘图,windows对此支持很好,在linux下如果没有进到X window,AWT就不能绘图",

     上面这句话是朋友告诉我的,我在启动服务器时是先启运到窗口模式下的,为什么就是不行呢,,后来,却这样轻松地解决的,
,打开字符终端,在那里输入如下:

 export DISPLAY=:0

然后用set来看看,如果export DISPLAY=:0已经存在,表示设置已经好啦,然后再试,哦,不是不行,后一重启机器,^_^ 可爱的图表显示出来啦,让我大松一口气,对于不同的机器,可能有的不用重启就可生效,呵呵,如果有朋友也像我这样遇到同样的问题,而找不到答案时,参考一下,或许会有所帮助。
祝愿每一位朋友每天都能有所收获。
现在误出一个真理,写程序不要怕出问题,问题出得越多见得越多,了解得越多,也逼着你去学更多的东西,想更多的解决办法。也可能会让你更深的理解什么是程序,什么是编程。呵呵,经验就是从出问题时开始积累的。
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值