谷歌图表:java.lang.NoClassDefFoundError:com/Google/gwt/core/clie
Google Chart: java.lang.NoClassDefFoundError: com/google/gwt/core/client/JavaScriptObject
我尝试使用Google
Chart
来显示趋势线,基于.java
文件生成的一些数据。我的基本想法是在java文件中创建一个DataTable,然后通过JSF
将这个DataTable传递给网页。
以下是我的部分代码:
public void resolveEvolution() {
this.evolution = new ArrayList<Long>();
this.evolutionTime = new ArrayList<String>();
Calendar first = Calendar.getInstance();
first.setTime(this.start);
first.set(Calendar.DAY_OF_MONTH, 1);
Calendar last = Calendar.getInstance();
last.setTime(this.end);
int i = 0;
this.dt = DataTable.create();
dt.addColumn(ColumnType.NUMBER, "Time");
dt.addColumn(ColumnType.NUMBER, "Utilisation");
dt.addRow();
while (first.before(last)) {
Calendar endMonth = Calendar.getInstance();
endMonth.setTime(first.getTime());
endMonth.add(Calendar.MONTH, 1);
endMonth.add(Calendar.DAY_OF_MONTH, -1);
this.evolution
.add(actionQueries.countByComponent(this.selectedComponent,
first.getTime(), endMonth.getTime()));
this.evolutionTime.add(first.get(Calendar.MONTH) + "/"
+ first.get(Calendar.YEAR));
dt.addRow();
dt.setValue(i, 0, i);
dt.setValue(i, 1,
actionQueries.countByComponent(this.selectedComponent,
first.getTime(), endMonth.getTime()));
i++;
first.add(Calendar.MONTH, 1);
}
}
public DataTable getDt() {
System.out.println(this.dt);
return this.dt;
}
在我的.xhtml文件中,它是这样的:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" "DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml"
xmlns:h="http://java.sun.com/jsf/html"
xmlns:f="http://java.sun.com/jsf/core">
<head>
<script type="text/javascript" src="https://www.google.com/jsapi"></script>
<script type="text/javascript">
google.load("visualization", "1", {packages:["corechart"]});
google.setOnLoadCallback(drawChart);
function drawChart() {
var data = new google.visualization.DataTable();
data = "#{globalComponentsManager.dt}";
var options = {
title: 'Test',
trendlines: { 0: {} }
};
var chart = new google.visualization.ScatterChart(document.getElementById('chart_div'));
chart.draw(data, options);
}
</script>
</head>
<body>
<div id="chart_div" style="width: 900px; height: 500px;"></div>
</body>
</html>
然而,当我在Tomcat中执行这个应用程序时,它告诉我:
GRAVE: Exception lors de l'envoi de l'évènement contexte initialisé (context initialized) à l'instance de classe d'écoute (listener) org.apache.myfaces.webapp.StartupServletContextListener
java.lang.NoClassDefFoundError: com/google/gwt/core/client/JavaScriptObject
怎么了?提前谢谢。
我认为您使用了错误的库(请参阅java.lang.NoClassDefFoundError: com/google/gwt/core/client/JavaScriptObject
错误)。
我猜resolveEvolution()
方法在服务器上运行
您尝试使用的DataTable
用于GWT
应用程序,而不用于后端代码(JSF
)
您应该使用DataTable
,而不是gwt-googleapi,它是Data Soruce Java库的一部分
相关文章:
- 如何在Google柱状图中动态添加行/列
- Google/html5语音识别JavaScript SDK Chrome网络工具包SpeechRecognition
- 使用Google Visualization动态调用构造函数
- Firebase2(Firebase.google.com)推送通知-从外部管理
- 是否可以控制获取哪些Google地图脚本(JavaScript API)
- 通过命令行/批处理文件打开页面时,将javascript代码注入Google Chrome
- Google Adsense多次加载脚本
- 单击超链接时,如何使用Google Maps API v3缩放地图
- Google电子表格getValue([cell containing ])不返回制表符
- 实现一个建立在google.com之上的自定义搜索引擎
- 使用Google Maps API向标记添加多个字符
- Google 脚本:用于创建日历活动的脚本运行时不会出错,但不会执行任何操作
- 回调函数中传递参数的困难(Google Map API Markers)
- 在Chrome扩展内部输出Google API调用
- 如何使用Google Sheets API+Javascript阅读电子表格
- 如何使用javascript更改google repatcha的大小
- 在angularjs/google地图中显示分支最近的路线
- 在FrontEndphp-ajax-jquery中验证reCaptcha-google
- 使用API在我的网站Google-Map上显示搜索地址的纬度和经度
- 谷歌图表:java.lang.NoClassDefFoundError:com/Google/gwt/core/clie