我有一个基于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看到这个班级?
感谢
答案 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
来运行您的应用程序。