最近遇到这样一个问题,使用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库绘制图形时,有时可能会遇到一个特定的问题,即在图表上显示的文本出现方框框的现象。这个问题通常是由于字体缺失或不兼容导致的,特别是当JFreeChart尝试渲染某些特殊字符时,如果...
**JFreeChart** 是一个广泛使用的Java库,用于创建高质量的图表,包括饼图、柱状图、线图、散点图、甘特图等多种类型的图表。它在各种应用程序中都有应用,例如报告、数据分析、仪表盘等。JFreeChart 的强大之处在于...
标题“JFreechart在Linux下不显示及中文乱码问题”指出的是在使用JFreechart库创建图表时,在Linux操作系统环境下遇到的两个主要问题:图表无法正常显示以及中文字符出现乱码。JFreechart是一个Java库,用于生成高...
在Linux环境下,使用Java的JFreeChart库生成图表时,可能会遇到一个问题,即图表中的文本出现乱码。这是因为JFreeChart默认使用的字体可能在Linux系统中不被支持,或者编码设置不正确。解决这个问题的关键在于引入...
Linux下JFreechart中文乱码的解决.docx
在Linux环境下使用JFreeChart库绘制图表时,可能会遇到中文乱码的问题。JFreeChart是一个强大的Java库,它提供了一套完整的解决方案来创建各种图表,如饼图、柱状图、线图等。然而,由于编码问题,当图表中包含中文...
在Linux环境下,使用JFreeChart库生成图表时可能会遇到中文乱码的问题,表现为显示为“口”这样的小方块。这通常与字符编码设置、JDK版本以及系统字体配置有关。下面将详细解释这个问题的原因及解决策略。 1. **...
在Windows或Mac OS等其他操作系统上,JFreeChart通常能够正确显示中文字符,但在Linux环境下可能会遇到问题,因为默认的字体集可能不包含中文字符。 这个问题的根本原因在于JFreeChart依赖于系统可用的字体来渲染...
标题中的“jfreechart在LINUX下乱码问题的解决”指的是在Linux操作系统中使用JFreeChart库时遇到的字符编码问题。JFreeChart是一个Java库,用于创建各种图表,如饼图、柱状图、线图等。在处理中文字符时,如果系统...
标题 "jfreechart部署在Linux服务器上生成图片乱码的解决方案" 涉及到的主要知识点是关于Java图形库JFreeChart在Linux环境中的使用,特别是解决中文字符乱码的问题。JFreeChart是一个广泛使用的开源Java库,它允许...
JFreeChart的使用,需要导入的2个jar文件: jcommon-1.0.23.jar和jfreechart-1.0.19.jar。 可以去官网下载:http://sourceforge.net/projects/jfreechart/files/ 上传以作后续使用时备份.
在Linux环境下,使用JFreeChart库进行图表生成时,可能会遇到中文乱码的问题。这是因为JFreeChart默认使用的是西方字符集,不支持中文显示。本文将深入探讨如何解决这一问题,确保在Linux系统中,JFreeChart能正确地...
linux环境下jfreechart无法生成与windows环境下的临时目录,从而导致图片无法显示,解决思路: 重写jfreechart的方法:ServletUtilities;ChartDeleter;DisplayChart 自定义三个类JfreeServletUtilities;...
- **示例代码**:[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源码不仅可以解决在Linux环境下中文乱码的问题,还能帮助我们更好地控制和定制图表的显示效果。对于需要在Java项目中展示数据或者创建复杂图表的开发者来说,深入...
这个资源是我在外网查资料时发现的,https://sourceforge.net/p/jfreechart/patches/241/ 有兴趣的可以去看下,当时正在找关于JFreeChart移动的信息,很凑巧碰到了,很感谢,移动的话需要按住Ctrl键
在Linux环境下,JFreeChart库可能会遇到乱码问题,这主要涉及到字符编码的处理。JFreeChart是一个强大的Java图表库,用于生成高质量的2D图形,如饼图、柱状图、线图等。然而,当在Linux系统上运行含有中文或其他非...
网址:http://www.jfree.org/jfreechart/ #### 二、本文档概述 ##### 1.2 本文档 本文档详细介绍了 JFreeChart 的安装、配置以及如何使用它来创建不同类型的图表。同时,还包含了示例代码和配置步骤,帮助读者更...