2

尝试在 Eclipse 中的 tomcat 上运行 Web 应用程序时出现此错误:

严重:为 org.apache.catalina.loader.WebappClassLoader 的 org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680) 的 servlet Kartoteka java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion 分配异常。 loadClass(WebappClassLoader.java:1526) 在 java.lang.Class.private 的 java.lang.Class.getDeclaredConstructors0(Native Method) 在 java.lang.Class.getConstructor0(Unknown Source) 在 java.lang.Class .newInstance0(Unknown Source) at java.lang.Class.newInstance(Unknown Source) at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1149) at org.apache.catalina.core.StandardWrapper.allocate( StandardWrapper.java:827) 在 org.apache.catalina.core.StandardWrapperValve。在 org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) 在 org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:191) 调用(StandardWrapperValve.java:129) .catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) 在 org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java :293) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat 的 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861)。 util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor .java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在java.lang.Thread.run(未知来源)StandardContextValve.invoke(StandardContextValve.java:191) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:127) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org .apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) 在 org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor .java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在java.lang.Thread.run(未知来源)127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter .service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(Unknown Source)127) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:109) org.apache.catalina.connector.CoyoteAdapter .service(CoyoteAdapter.java:293) 在 org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) 在 org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在org.apache.tomcat.util.net.JIoEndpoint$Worker.run(JIoEndpoint.java:489) 在 java.lang.Thread.run(Unknown Source)org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$ 的 apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:606) 在 org.apache.tomcat.util.net.JIoEndpoint$ 的 apache.coyote.http11.Http11Processor.process(Http11Processor.java:861) Worker.run(JIoEndpoint.java:489) at java.lang.Thread.run(Unknown Source)

似乎没有特定的库,但我不知道到底是哪个。我使用最后一个休眠版本(4.1.8 最终版本)。我试图从 hiberante 链接所有库,但它没有帮助。有什么建议么?

4

1 回答 1

0

具有 webapp 运行时依赖项的 JAR 文件必须放在/WEB-INF/lib文件夹中。您面临的异常表明情况并非如此。因此,要解决所有问题,您只需确保将 JAR 文件放置在正确的位置即可。

一个常见的初学者错误是他们在项目的构建路径属性中摆弄以添加运行时依赖项。这是错误的。它只添加编译时依赖项。您需要撤消在其中所做的所有更改以尝试解决此问题,否则它可能仍会发生冲突。

于 2012-12-10T14:20:01.573 回答