简体   繁体   English

java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration

[英]java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration

I'v got the following problem: I tried to create a simple Servlep with Eclipse:我遇到了以下问题:我尝试使用 Eclipse 创建一个简单的 Servelep:

@WebServlet(description = "Adress book servlet", urlPatterns = {"/new_address"})
public class CAddressBookServlet extends HttpServlet 
{
    public CAddressBookServlet() 
    {
        super();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {}
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {}
    private static final long serialVersionUID = 1L;
}

And it works fine with Tomcat!它与 Tomcat 一起工作得很好! But then I was to add Hibernate functionality into my project.但后来我要将 Hibernate 功能添加到我的项目中。 I add just one line to servlet contructor:我只向 servlet 构造函数添加一行:

@WebServlet(description = "Adress book servlet", urlPatterns = {"/new_address"})
public class CAddressBookServlet extends HttpServlet 
{
    public CAddressBookServlet() 
    {
        super();
        new AnnotationConfiguration();
    }
    protected void doGet(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {}
    protected void doPost(HttpServletRequest request, HttpServletResponse response) throws ServletException, IOException 
    {}
    private static final long serialVersionUID = 1L;
}

Which cause the following error:导致以下错误:

HTTP Status 500 - Error instantiating servlet class org.servlets.CAddressBookServlet HTTP 状态 500 - 实例化 servlet 类 org.servlets.CAddressBookServlet 时出错


type Exception report输入异常报告

message Error instantiating servlet class org.servlets.CAddressBookServlet消息实例化 servlet 类 org.servlets.CAddressBookServlet 时出错

description The server encountered an internal error that prevented it from fulfilling this request.说明 服务器遇到内部错误,无法完成此请求。

exception例外

javax.servlet.ServletException: Error instantiating servlet class org.servlets.CAddressBookServlet org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) javax.servlet.ServletException:实例化 servlet 类 org.servlets.CAddressBookServlet org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) 时出错) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(ProcessAbstractHttp11or .java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JioEndpoint$SocketProcessor.run(JioEndpoint.java:310) java.util.concurrent .ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)

root cause根本原因

java.lang.NoClassDefFoundError: org/hibernate/cfg/AnnotationConfiguration org.servlets.CAddressBookServlet.(CAddressBookServlet.java:33) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect.Constructor.newInstance(Unknown Source) java.lang.Class.newInstance0(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) java.lang.NoClassDefFoundError: org/hibernate/cfg/AnnotationConfiguration org.servlets.CAddressBookServlet.(CAddressBookServlet.java:33) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun. reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect.Constructor.newInstance(Unknown Source) java.lang.Class.newInstance0(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.catalina。 authenticationator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org. apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractConnectionHandler.process(AbstractProtocol)第589章) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) org.apache.tomcat.util.net.JioEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(来源不明)

root cause根本原因

java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) org.servlets.CAddressBookServlet.(CAddressBookServlet.java:33) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect.Constructor.newInstance(Unknown Source) java.lang.Class.newInstance0(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:407) org.apache.coyote. java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1714) org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1559) org .servlets.CAddressBookServlet.(CAddressBookServlet.java:33) sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method) sun.reflect.NativeConstructorAccessorImpl.newInstance(Unknown Source) sun.reflect.DelegatingConstructorAccessorImpl.newInstance(Unknown Source) java.lang.reflect .Constructor.newInstance(Unknown Source) java.lang.Class.newInstance0(Unknown Source) java.lang.Class.newInstance(Unknown Source) org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:472) org. apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:99) org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:931) org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java: [407] 407) http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:310) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source) http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1004) org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:589) org.apache.tomcat.util.net.JioEndpoint$SocketProcessor.run(JioEndpoint.java) 310) java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) java.lang.Thread.run(Unknown Source)

note The full stack trace of the root cause is available in the Apache Tomcat/7.0.33 logs.注意 Apache Tomcat/7.0.33 日志中提供了根本原因的完整堆栈跟踪。

How can I make hibernate working with my servlet?如何使休眠与我的 servlet 一起工作?

@Perception has the right answer. @Perception 有正确的答案。 You need to include the Hibernate libraries with your deployed war file.您需要在部署的 war 文件中包含 Hibernate 库。 You can put them in WEB-INF/lib or in the Tomcat endorsed directory.您可以将它们放在 WEB-INF/lib 或 Tomcat 认可的目录中。 I prefer the WEB-INF/lib location, so you don't interfere with any other applications on the server.我更喜欢 WEB-INF/lib 位置,这样您就不会干扰服务器上的任何其他应用程序。

I think you are missing the annotations jar.我认为您缺少注释 jar。 Download the Annotations 下载注释

Copy the downloaded jar file to one of these locations....将下载的 jar 文件复制到这些位置之一....

-> Tomcat lib directory
          or
 -> To the folder webapps/< your_project >/WEB-INF/lib

And restart the server并重启服务器

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 引起:java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration 找不到 net.sf.jasperreports_6.10.0.final - Caused by: java.lang.ClassNotFoundException: org.hibernate.cfg.AnnotationConfiguration cannot be found by net.sf.jasperreports_6.10.0.final java.lang.NoClassDefFoundError:无法初始化类org.hibernate.cfg.AnnotationConfiguration - java.lang.NoClassDefFoundError: Could not initialize class org.hibernate.cfg.AnnotationConfiguration java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration - java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration NoClassDefFoundError:无法初始化类org.hibernate.cfg.AnnotationConfiguration - NoClassDefFoundError: Could not initialize class org.hibernate.cfg.AnnotationConfiguration java.lang.NoClassDefFoundError:org / hibernate / cfg / AnnotationConfiguration - java.lang.NoClassDefFoundError: org/hibernate/cfg/AnnotationConfiguration Spring和hibernate配置(使用maven):java.lang.ClassNotFoundException:org.hibernate.cfg.Configuration - Spring & hibernate configuration (using maven): java.lang.ClassNotFoundException: org.hibernate.cfg.Configuration 引起原因:java.lang.ClassNotFoundException:org.hibernate.Interceptor - Caused by: java.lang.ClassNotFoundException: org.hibernate.Interceptor org.hibernate.MappingException:java.lang.ClassNotFoundException:员工 - org.hibernate.MappingException: java.lang.ClassNotFoundException: Employee java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider - java.lang.ClassNotFoundException: org.hibernate.cache.CacheProvider java.lang.ClassNotFoundException:org.hibernate.criterion.Criterion - java.lang.ClassNotFoundException: org.hibernate.criterion.Criterion
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM