webserver:tomcat
web framework:spring3
我使用gson-2.3.1
按照错误日志
java.lang.ClassNotFoundException: com.mysite.chart.**ChartCtrl$2**
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1387)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1233)
**at com.mysite.chart.ChartCtrl.msyData(ChartCtrl.java:278)**
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
和ChartCtrl 278一行是
Type objType = new TypeToken<ArrayList<HashMap<String, Object>>>(){}.getType();
我该如何解决这个问题。
答案 0 :(得分:1)
我也遇到过这个问题,在我的情况下,我导入的是错误的类,它在IDE的类路径中可用,但在运行时没有。
替换下面的一个:
import com.google.common.reflect.TypeToken;
有了这个:
import com.google.gson.reflect.TypeToken;
答案 1 :(得分:0)
ClassNotFoundException,并且通过查看stacktrace,因为它包含$ 2,它让我相信你(或某人)正在使用某些内部类或匿名内部类,它使用一些非.war文件包的库。
在这种特定情况下,我猜你没有在你的WEB-INF / lib文件夹中打包包含TypeToken类的gson jar。你能证实吗?