Java EE,GWT,NoClassDefException

时间:2012-01-23 01:53:15

标签: gwt java-ee tomcat noclassdeffounderror

我有一个基于GWT(谷歌网络工具包)和JPA(eclipselink 2.3)的应用程序。它没有使用GAE(app引擎)。

当我完成应用程序时,我在eclipse中运行'google-> gwt compile'菜单,然后将/ war内容上传到tomcat目录...

应用程序正在运行,但是当我尝试在gui中执行一个特定操作时,我收到一条错误消息,并且Tomcat日志包含此异常:http://paste2.org/p/1879857(java.lang.NoClassDefFoundError)

在开发应用程序期间,我多次遇到这种异常,它总是由于war / WEB-INF / lib /中没有库.jar文件引起的...任何时候它都发生了,我存储了。 jar到文件夹,它工作......但不是这次......

这个类位于gwt-dev.jar(是的,它就在那里 - 已经搜索了存档)并且它没有帮助我将存档存储到lib /文件夹......

它也包含在classpath中,并且编译器没有问题...编译完成没有错误(因此编译器可以看到该类)。

你有什么想法,如何让tomcat看到这个班级?

感谢

2 个答案:

答案 0 :(得分:6)

gwt-dev.jar不应该在WEB-INF/lib/中,它是GWT编译器,不应该在运行时使用或使用。同时,不应在编译器外使用HashSet(com.google.gwt.dev.util.collect.HashSet,dev模式的一部分) - 改为使用java.util.HashSet

答案 1 :(得分:2)

HashSet中的GroupImpl.java导入从com.google.gwt.dev.util.collect.HashSet更改为java.util.HashSet。您不应该gwt-dev.jar来运行您的应用程序。