NoClassDefFoundError:org / hibernate / cfg / Configuration

时间:2012-10-30 18:02:10

标签: hibernate gwt tomcat jetty

我正在使用Hibernate在我的Google Web Toolkit项目中实现远程过程调用。当我从Eclipse作为Google“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

2 个答案:

答案 0 :(得分:1)

将Eclipse放入WEB-INF / lib对于Eclipse来说是不够的。您还需要将它添加到Project的类路径中(右键单击jar,然后选择Build Path> Add to Build Path)。

答案 1 :(得分:1)

右键单击您的项目并转到“属性”。然后转到Google-> Web应用程序。确保选中“此项目有一个WAR目录”,并在复选框下解决您的war文件夹。既然你在那里,那么看看Google就不会有什么害处 - > Web Tooklit并确保选中“使用Google Web Toolkit”并输入正确的库。