获取java.lang.ClassNotFoundException:当我尝试部署war时的SessionFactory

获取java.lang.ClassNotFoundException:当我尝试部署war时的SessionFactory,java,eclipse,hibernate,tomcat,Java,Eclipse,Hibernate,Tomcat,我正在尝试使用STS在TC服务器上部署war。我能够构建没有任何依赖性问题的项目。但一旦我尝试将war添加到服务器,就会出现以下错误: [2017-03-29 09:27:14,303] ERROR [ContextLoader]Context initialization failed org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplConfigServic

我正在尝试使用STS在TC服务器上部署war。我能够构建没有任何依赖性问题的项目。但一旦我尝试将war添加到服务器,就会出现以下错误:

[2017-03-29 09:27:14,303] ERROR [ContextLoader]Context initialization failed 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'ApplConfigService': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'configManager': Injection of resource dependencies failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'UserAuthentication': Injection of resource dependencies failed; nested exception is java.lang.NoClassDefFoundError: SessionFactory
    at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessPropertyValues(CommonAnnotationBeanPostProcessor.java:311)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.populateBean(AbstractAutowireCapableBeanFactory.java:1214)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:543)
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:482)
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:306)
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:230)
    at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:302)
    at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:197)
    at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSingletons(DefaultListableBeanFactory.java:772)
    at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitialization(AbstractApplicationContext.java:839)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:538)
    at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:444)
    at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:326)
    at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:107)
    at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4729)
    at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5167)
    at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:150)
    at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:725)
    at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:701)
    at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:717)
    at org.apache.catalina.startup.HostConfig.deployDescriptor(HostConfig.java:586)
    at org.apache.catalina.startup.HostConfig$DeployDescriptor.run(HostConfig.java:1750)
    at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
    at java.util.concurrent.FutureTask.run(FutureTask.java:266)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
    at java.lang.Thread.run(Thread.java:745)
我尝试过的故障排除步骤:

  • 我确保构建的war在WEB\u INF/lib下具有所有必要的JAR
  • 尝试将JAR添加到buildpath
  • 确保在Preferences->Deployment Assembly下添加了maven依赖项
  • 清理服务器几次
  • 迫使maven再次下载所有JAR
  • Maven是否从命令行安装以确保战争正常进行
  • 尝试将war手动部署到tomcat/STS中,并在命令行上启动服务器。它在没有此错误的情况下启动,但为应用程序URL提供404
  • 试过STS和Eclipse

    由于某些原因,它无法从服务器上找到Hibernate JAR。我已经尝试了我遇到的关于堆栈溢出错误的大多数解决方案,但它并没有消失


  • 对此的任何见解都将不胜感激

    问题在于IDE。我从项目的目标文件夹复制了WEB-INF文件夹,并将其粘贴到服务器路径中的文件夹,覆盖了其中的WEB-INF:


    我现在可以毫无问题地启动服务器了

    我没有足够的分数来评论,作为评论会更好。但为了子孙后代:许多人并不知道war文件和ear文件只是在特定位置用特定文件压缩内容。要查看文件,可以将扩展名重命名为“.zip”,然后浏览其中的文件


    我知道你已经回答了自己的问题,但其他人可能会觉得这很有用

    奇怪的是,
    NoClassDefFoundError
    只提到了
    SessionFactory
    ,而没有提到
    org.hibernate.SessionFactory
    。您的应用程序中如何配置会话工厂?感谢您的回复!看起来这是IDE的问题。