我正在使用 Hibernate 在我的 Google Web Toolkit 项目中实现远程过程调用。当我从 Eclipse 作为谷歌“Web 应用程序”运行它时,在调用服务时(当我按下网页上的按钮时)出现 NoClassDefFoundError 异常:
Starting Jetty on port 8888
[WARN] Exception while dispatching incoming RPC call
com.google.gwt.user.server.rpc.UnexpectedException: Service method 'public abstract java.lang.String edu.mit.ll.irbenchmark.client.MetricDataTableService.getDataString(edu.mit.ll.irbenchmark.EvaluationMetric)' threw an unexpected exception: java.lang.NoClassDefFoundError: org/hibernate/cfg/Configuration
at com.google.gwt.user.server.rpc.RPC.encodeResponseForFailure(RPC.java:385)
at com.google.gwt.user.server.rpc.RPC.invokeAndEncodeResponse(RPC.java:588)
at com.google.gwt.user.server.rpc.RemoteServiceServlet.processCall(RemoteServiceServlet.java:208)
但是当我“GWT编译”项目并将目录“war”的内容复制到tomcat6时,它完美地工作!
以下 jar 在我的 war/WEB-INF/lib 目录中:
antlr-3.4-complete.jar
commons-collections3-3.2.1.jar
dom4j.jar
gwt-servlet.jar
hibernate-commons-annotations-3.2.0.Final.jar
hibernate-core-3.6.9.Final.jar
hibernate-jpa-2.0-api-1.0.1.Final.jar
IRBenchmarker.jar
javassist-3.12.0.GA.jar
jta-1.1.jar
log4j-1.2-1.2.16.jar
mysql-connector-java-5.1.16.jar
slf4j-api-1.6.4.jar
slf4j-log4j12-1.6.4.jar