我正在工作jfreeChart并在我打电话时遇到这个问题。
JFreeChart chart = ChartFactory.createAreaXYChart(str_chartLabel,str_xAxisLabel, str_yAxisLabel, xyDataset, true);
抛出此异常
Exception in thread "main" java.lang.IllegalAccessError: tried to access field com.jrefinery.ui.about.ProjectInfo.name from class com.jrefinery.chart.JFreeChartInfo
at com.jrefinery.chart.JFreeChartInfo.<init>(Unknown Source)
at com.jrefinery.chart.JFreeChart.<clinit>(Unknown Source)
at com.jrefinery.chart.ChartFactory.createAreaXYChart(Unknown Source)
at jFreeChart.ImageUtils.createImageByXyChart(myClassName.java:37)
at jFreeChart.ImageUtils.main(myClassName.java:103)
答案 0 :(得分:1)
不确定原因,但正如此异常所说:IllegalAccessError
如果应用程序试图访问或修改字段,或者调用它无权访问的方法,则抛出该异常。 通常,编译器会捕获此错误;如果类的定义发生不兼容的更改,则此错误只能在运行时发生。
在您的情况下com.jrefinery.chart.JFreeChartInfo.<init>
尝试访问无法访问的com.jrefinery.ui.about.ProjectInfo.name
媒体资源。
因此,请尝试使用较早或较新版本的jrefinery
库。
答案 1 :(得分:1)
几天前我也遇到了这个问题。通过使用兼容版本的JFreeChart和JCommon,我摆脱了这个问题。