`
salever
  • 浏览: 255635 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

Linux/Unix下JFreeChart的NoClassDefFoundError问题

阅读更多

最近遇到这样一个问题,使用JFreechart 1.0.13开发的程序,在Windows上正常运行,到Linux下就莫名其妙的报错了,查看log,出现了

 

Caused by: java.lang.NoClassDefFoundError
    at org.jfree.chart.ChartFactory.createBarChart...

一般的出现NoClassDefFoundError,都是因为缺少Java Class的依赖,而且会提示缺少的Class名字,这个就比较怪了,这里我们看看如何处理这类的问题。

出错原因

Google一下

java.lang.NoClassDefFoundError

at org.jfree.chart.ChartFactory.createBarChart

发现在http://www.jfree.org/上很多人都有这个问题,而且都出现在Linux或者Unix系统上,原来这是一个Linux/Unix下Java的问题。详细见:http://www.jfree.org/phpBB2/viewtopic.php?t=8420

 写道
-------------------------------------------------------------------------------

10. My web application runs fine on my Windows development machine, but when
I deploy it to the Unix/Linux production server, it doesn't work. What
is the problem?

Most likely your server does not have X11 running. This is a Java
(AWT/Java2D) issue, not something that is specific to JFreeChart. There is
some more information at Sun's website:

http://java.sun.com/products/java-media/2D/forDevelopers/java2dfaq.html#xvfb

In addition, the following thread in the JFreeChart forum contains some
useful information:

http://www.jfree.org/phpBB2/viewtopic.php?t=1012

-------------------------------------------------------------------------------

这里给出了问题的详细链接,以及解决方案。

解决方案

1,如果是Tomcat等Web server中的app,遇到这个问题,可以尝试修改tomcat的启动配置,添加如下的Java的参数:

-Djava.awt.headless = true

一般在%TomcatHome%\bin\catalina.bat文件中设置

set JAVA_OPTS=%JAVA_OPTS%  -Djava.awt.headless = true

不过很可惜,测试没有作用,依然出错。可能是哪里出了问题。

 

2,在应用程序中添加Java属性设置:

System.setProperty("java.awt.headless","true")

测试生效!

 

本文同步发表在 http://www.xeclipse.com/?p=1287

分享到:
评论

相关推荐

    Linux下Jfreechart会出现方框框

    在Linux环境下使用JFreeChart库绘制图形时,有时可能会遇到一个特定的问题,即在图表上显示的文本出现方框框的现象。这个问题通常是由于字体缺失或不兼容导致的,特别是当JFreeChart尝试渲染某些特殊字符时,如果...

    JFreechart 在linux下不显示及中文乱码问题

    标题“JFreechart在Linux下不显示及中文乱码问题”指出的是在使用JFreechart库创建图表时,在Linux操作系统环境下遇到的两个主要问题:图表无法正常显示以及中文字符出现乱码。JFreechart是一个Java库,用于生成高...

    jfreechart

    **JFreeChart** 是一个广泛使用的Java库,用于创建高质量的图表,包括饼图、柱状图、线图、散点图、甘特图等多种类型的图表。它在各种应用程序中都有应用,例如报告、数据分析、仪表盘等。JFreeChart 的强大之处在于...

    linux下JFreeChart生成的图片乱码,可以用这个字体

    在Linux环境下,使用Java的JFreeChart库生成图表时,可能会遇到一个问题,即图表中的文本出现乱码。这是因为JFreeChart默认使用的字体可能在Linux系统中不被支持,或者编码设置不正确。解决这个问题的关键在于引入...

    Linux下的JFreeChart中文乱码口口解决

    在Linux环境下使用JFreeChart库绘制图表时,可能会遇到中文乱码的问题。JFreeChart是一个强大的Java库,它提供了一套完整的解决方案来创建各种图表,如饼图、柱状图、线图等。然而,由于编码问题,当图表中包含中文...

    Linux下JFreechart中文乱码的解决.docx

    Linux下JFreechart中文乱码的解决.docx

    linux 下 JFreeChart 乱码 JDK字符集

    在Linux环境下,使用JFreeChart库生成图表时可能会遇到中文乱码的问题,表现为显示为“口”这样的小方块。这通常与字符编码设置、JDK版本以及系统字体配置有关。下面将详细解释这个问题的原因及解决策略。 1. **...

    解决jfreechart在linux下无法显示中文

    在Windows或Mac OS等其他操作系统上,JFreeChart通常能够正确显示中文字符,但在Linux环境下可能会遇到问题,因为默认的字体集可能不包含中文字符。 这个问题的根本原因在于JFreeChart依赖于系统可用的字体来渲染...

    jfreechart在LINUX下乱码问题的解决

    标题中的“jfreechart在LINUX下乱码问题的解决”指的是在Linux操作系统中使用JFreeChart库时遇到的字符编码问题。JFreeChart是一个Java库,用于创建各种图表,如饼图、柱状图、线图等。在处理中文字符时,如果系统...

    jfreechart部署linux服务器生成图片乱码解决方案

    标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...

    JFreeChart使用的jar包

    JFreeChart的使用,需要导入的2个jar文件: jcommon-1.0.23.jar和jfreechart-1.0.19.jar。 可以去官网下载:http://sourceforge.net/projects/jfreechart/files/ 上传以作后续使用时备份.

    jfreechart linux乱码解决方案

    在Linux环境下,使用JFreeChart库进行图表生成时,可能会遇到中文乱码的问题。这是因为JFreeChart默认使用的是西方字符集,不支持中文显示。本文将深入探讨如何解决这一问题,确保在Linux系统中,JFreeChart能正确地...

    linux环境能够显示jfreechart生成的图片

    linux环境下jfreechart无法生成与windows环境下的临时目录,从而导致图片无法显示,解决思路: 重写jfreechart的方法:ServletUtilities;ChartDeleter;DisplayChart 自定义三个类JfreeServletUtilities;...

    JFreeChart用户开发指南1.0.6(中文).pdf

    - **示例代码**:[https://www.jfree.org/jfreechart/jfreechart-1.0.15-samples.zip](https://www.jfree.org/jfreechart/jfreechart-1.0.15-samples.zip) #### 六、小结 JFreeChart作为一款成熟且功能全面的Java...

    JFreeChart放大缩小移动

    这个资源是我在外网查资料时发现的,https://sourceforge.net/p/jfreechart/patches/241/ 有兴趣的可以去看下,当时正在找关于JFreeChart移动的信息,很凑巧碰到了,很感谢,移动的话需要按住Ctrl键

    JFreeChart在linux下生成图表时中文乱码

    JFreeChart在linux下生成图表时中文乱码,原因是JRE没有找到对应中文字库,解决方法如下:

    JFreechart源码以及linux环境下中文乱码的解决

    通过以上分析,我们可以看到,理解和使用JFreeChart源码不仅可以解决在Linux环境下中文乱码的问题,还能帮助我们更好地控制和定制图表的显示效果。对于需要在Java项目中展示数据或者创建复杂图表的开发者来说,深入...

    jfreechart乱码(linux下)

    在Linux环境下,JFreeChart库可能会遇到乱码问题,这主要涉及到字符编码的处理。JFreeChart是一个强大的Java图表库,用于生成高质量的2D图形,如饼图、柱状图、线图等。然而,当在Linux系统上运行含有中文或其他非...

Global site tag (gtag.js) - Google Analytics