我只是試圖用vaadin圖表實現簡單的條形圖。 就像下面級別的教程一樣,我寫了代碼。NoClassDefFoundError:在Vaadin圖表中的com/google/gson/TypeAdapterFactory
鏈接:http://demo.vaadin.com/charts/#BasicBar
但是,當我試圖延長,因爲沒有這樣的類「AbstractVaadinChartExample」,我只是使方法公共靜態。
下面是我所做的。
- 我下載vaadin圖表1.1.5.jar
- 我把我的vaadin 7項目
- 除了添加在最後一個行我沒有修改原始代碼。 layout.addComponent(BasicBar.getChart());
- 我的BasicBar.java和上面的鏈接一樣,但我沒有擴展任何東西,並且使getChart()方法成爲'public static'。
- 現在,我得到 '的NoClassDefFoundError:COM /谷歌/ GSON/TypeAdapterFactory' 錯誤:-(
我不明白,因爲我沒有做什麼用的東西GSON
我的代碼,如:。
package org.owls.chart;
import java.util.ArrayList;
import java.util.List;
import com.vaadin.addon.charts.Chart;
import com.vaadin.addon.charts.model.ChartType;
import com.vaadin.addon.charts.model.Configuration;
import com.vaadin.addon.charts.model.HorizontalAlign;
import com.vaadin.addon.charts.model.Labels;
import com.vaadin.addon.charts.model.LayoutDirection;
import com.vaadin.addon.charts.model.Legend;
import com.vaadin.addon.charts.model.ListSeries;
import com.vaadin.addon.charts.model.PlotOptionsBar;
import com.vaadin.addon.charts.model.Title;
import com.vaadin.addon.charts.model.Tooltip;
import com.vaadin.addon.charts.model.VerticalAlign;
import com.vaadin.addon.charts.model.XAxis;
import com.vaadin.addon.charts.model.YAxis;
import com.vaadin.ui.Component;
public class BasicBar {
@SuppressWarnings({ "unchecked", "rawtypes" })
public static Component getChart() {
Chart chart = new Chart(ChartType.BAR);
Configuration config = chart.getConfiguration();
config.setTitle("basic chart");
config.setSubTitle("2014.02.14");
//X
XAxis xAxis = new XAxis();
xAxis.setCategories("A", "B", "C", "D", "E");
xAxis.setTitle("xTitle");
config.addxAxis(xAxis);
//Y
YAxis yAxis = new YAxis();
yAxis.setMin(0);
Title tile = new Title("y title");
tile.setVerticalAlign(VerticalAlign.HIGH);
yAxis.setTitle(tile);
config.addyAxis(yAxis);
Tooltip toolTip = new Tooltip();
//???
toolTip.setFormatter("this.series.name : + ': ' + this.y +' millions'");
config.setTooltip(toolTip);
//plot
PlotOptionsBar plot = new PlotOptionsBar();
//????
plot.setDataLabels(new Labels(true));
config.setPlotOptions(plot);
Legend legend = new Legend();
legend.setLayout(LayoutDirection.VERTICAL);
legend.setHorizontalAlign(HorizontalAlign.RIGHT);
legend.setVerticalAlign(VerticalAlign.TOP);
legend.setX(-100);
legend.setY(100);
legend.setFloating(true);
legend.setBorderWidth(1);
legend.setBackgroundColor("#FFFFFF");
legend.setShadow(true);
config.setLegend(legend);
config.disableCredits();
List series = new ArrayList();
series.add(new ListSeries("Year 1800", 107, 31, 635, 203, 2));
series.add(new ListSeries("Year 1900", 133, 156, 947, 408, 6));
series.add(new ListSeries("Year 2008", 973, 914, 4054, 732, 34));
config.setSeries(series);
chart.drawChart(config);
return chart;
}
}
我該如何解決 感謝:?d
當你的JAR沒有參考,
謝謝,Nikhil。我會給你你需要的信息。 #1的回答只是'vaadin project 7.X'(它來自Vaadin eclipse插件)#2 - 當然,我已經將jar文件的構建路徑添加到我的項目中,因此我可以使用no編譯錯誤。 #3 - 不能嘗試,因爲演示網站不提供完整的源代碼。他們只是顯示一個類的定義(你可以用我在後臺提供的鏈接檢查它) –