加载ssh项目,tomcat启动报错

J2EE 码拜 10年前 (2015-04-14) 1139次浏览 0个评论

求大神赐教!
一个一模一样的项目,教程视频里面都可以运行,为什么我就运行不了?包的什么都是拷贝的它的,我用测试spring是没有问题的,但是运行tomcat服务器就不行, 

在 线 等!
主要是这个错误:java.lang.NoClassDefFoundError: Lorg/hibernate/SessionFactory;
比较全的错误如下(红线以下开始报错):
信息: Pre-instantiating singletons in org.springframework.beans.factory.support.DefaultLista
bleBeanFactory@1cad7d80: defining beans [testAction,testService,org.springframework.contex
t.annotation.internalCommonAnnotationProcessor,org.springframework.context.annotation.inte
rnalAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAn
notationProcessor,org.springframework.beans.factory.config.PropertyPlaceholderConfigurer#0
,dataSource,sessionFactory,transactionManager,org.springframework.aop.config.internalAutoP
roxyCreator,org.springframework.transaction.annotation.AnnotationTransactionAttributeSourc
e#0,org.springframework.transaction.interceptor.TransactionInterceptor#0,org.springframewo
rk.transaction.config.internalTransactionAdvisor,org.springframework.beans.factory.config.
PropertyPlaceholderConfigurer#1]; root of factory hierarchy
2014-8-27 11:49:01 org.springframework.web.context.ContextLoader initWebApplicationContext
严重: Context initialization failed
java.lang.NoClassDefFoundError: Lorg/hibernate/SessionFactory;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2300)
at java.lang.Class.getDeclaredFields(Class.java:1745)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:516)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:500)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceM
etadata(CommonAnnotationBeanPostProcessor.java:319)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMe
rgedBeanDefinition(CommonAnnotationBeanPostProcessor.java:277)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMerg
edBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:745)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateB
ean(AbstractAutowireCapableBeanFactory.java:448)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(Abs
tractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBea
n(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBean
Factory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(De
faultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFa
ctory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact
ory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact
ory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSin
gletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitia
lization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplica
tionContext.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoade
r.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.
java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoader
Listener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)
at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:1079)
at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:1002)
at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:506)
at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1317)
at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:324)
at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:142
)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1065)
at org.apache.catalina.core.StandardHost.start(StandardHost.java:822)
at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1057)
at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:463)
at org.apache.catalina.core.StandardService.start(StandardService.java:525)
at org.apache.catalina.core.StandardServer.start(StandardServer.java:754)
at org.apache.catalina.startup.Catalina.start(Catalina.java:595)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25)
at java.lang.reflect.Method.invoke(Method.java:597)
at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:289)
at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:414)
Caused by: java.lang.ClassNotFoundException: org.hibernate.SessionFactory
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1680)
at org.apache.catalina.loader.WebappClassLoader.loadClass(WebappClassLoader.java:1526)
… 47 more
2014-8-27 11:49:01 org.apache.catalina.core.StandardContext listenerStart
严重: Exception sending context initialized event to listener instance of class org.springfr
amework.web.context.ContextLoaderListener
java.lang.NoClassDefFoundError: Lorg/hibernate/SessionFactory;
at java.lang.Class.getDeclaredFields0(Native Method)
at java.lang.Class.privateGetDeclaredFields(Class.java:2300)
at java.lang.Class.getDeclaredFields(Class.java:1745)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:516)
at org.springframework.util.ReflectionUtils.doWithFields(ReflectionUtils.java:500)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.findResourceM
etadata(CommonAnnotationBeanPostProcessor.java:319)
at org.springframework.context.annotation.CommonAnnotationBeanPostProcessor.postProcessMe
rgedBeanDefinition(CommonAnnotationBeanPostProcessor.java:277)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.applyMerg
edBeanDefinitionPostProcessors(AbstractAutowireCapableBeanFactory.java:745)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateB
ean(AbstractAutowireCapableBeanFactory.java:448)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory$1.run(Abs
tractAutowireCapableBeanFactory.java:409)
at java.security.AccessController.doPrivileged(Native Method)
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBea
n(AbstractAutowireCapableBeanFactory.java:380)
at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBean
Factory.java:264)
at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(De
faultSingletonBeanRegistry.java:222)
at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFa
ctory.java:261)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact
ory.java:185)
at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFact
ory.java:164)
at org.springframework.beans.factory.support.DefaultListableBeanFactory.preInstantiateSin
gletons(DefaultListableBeanFactory.java:429)
at org.springframework.context.support.AbstractApplicationContext.finishBeanFactoryInitia
lization(AbstractApplicationContext.java:728)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplica
tionContext.java:380)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoade
r.java:255)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.
java:199)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoader
Listener.java:45)
at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:4210)
at org.apache.catalina.core.StandardContext.start(StandardContext.java:4709)
at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:799)
at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:779)
at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:583)

加载ssh项目,tomcat启动报错
http://blog.sina.com.cn/s/blog_62569c870100zq80.html
加载ssh项目,tomcat启动报错
80分
如果jar包完整的话,看看jar包版本对不对,也可以尝试下重新导入jar包
加载ssh项目,tomcat启动报错
引用 2 楼 w3226327 的回复:

如果jar包完整的话,看看jar包版本对不对,也可以尝试下重新导入jar包

我试了,没有用

加载ssh项目,tomcat启动报错
引用 1 楼 shixitong 的回复:

http://blog.sina.com.cn/s/blog_62569c870100zq80.html

我看了,但是我用的是spring 2.5 的,不能改成hibernate4,请问还有其他方法吗

加载ssh项目,tomcat启动报错
可以尝试下 改下JDK版本
加载ssh项目,tomcat启动报错
引用 4 楼 a512592151 的回复:
Quote: 引用 1 楼 shixitong 的回复:

http://blog.sina.com.cn/s/blog_62569c870100zq80.html

我看了,但是我用的是spring 2.5 的,不能改成hibernate4,请问还有其他方法吗

哦,那再找找吧?再检查jar包和配置文件吧

加载ssh项目,tomcat启动报错
引用 6 楼 shixitong 的回复:
Quote: 引用 4 楼 a512592151 的回复:
Quote: 引用 1 楼 shixitong 的回复:

http://blog.sina.com.cn/s/blog_62569c870100zq80.html

我看了,但是我用的是spring 2.5 的,不能改成hibernate4,请问还有其他方法吗

哦,那再找找吧?再检查jar包和配置文件吧

applicationContext.xml的配置如下:
<?xml version=”1.0″ encoding=”UTF-8″?>
<beans xmlns=”http://www.springframework.org/schema/beans” xmlns:xsi=”http://www.w3.org/2001/XMLSchema-instance” xmlns:context=”http://www.springframework.org/schema/context”
xmlns:tx=”http://www.springframework.org/schema/tx”
xsi:schemaLocation=”http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd”>

<!– 自动扫描与装配bean –>
<context:component-scan base-package=”cn.itcast.oa”></context:component-scan>

<!– 加载外部的properties配置文件 –>
<context:property-placeholder location=”classpath:jdbc.properties”/>

<!– 配置数据库连接池(c3p0) –>
<bean id=”dataSource” class=”com.mchange.v2.c3p0.ComboPooledDataSource”>
<!– 基本信息 –>
<property name=”jdbcUrl” value=”${jdbcUrl}”></property>
<property name=”driverClass” value=”${driverClass}”></property>
<property name=”user” value=”${username}”></property>
<property name=”password” value=”${password}”></property>
<!– 其他配置 –>
<!–初始化时获取三个连接,取值应在minPoolSize与maxPoolSize之间。Default: 3 –>
<property name=”initialPoolSize” value=”3″></property>
<!–连接池中保留的最小连接数。Default: 3 –>
<property name=”minPoolSize” value=”3″></property>
<!–连接池中保留的最大连接数。Default: 15 –>
<property name=”maxPoolSize” value=”5″></property>
<!–当连接池中的连接耗尽的时候c3p0一次同时获取的连接数。Default: 3 –>
<property name=”acquireIncrement” value=”3″></property>
<!– 控制数据源内加载的PreparedStatements数量。如果maxStatements与maxStatementsPerConnection均为0,则缓存被关闭。Default: 0 –>
<property name=”maxStatements” value=”8″></property>
<!– maxStatementsPerConnection定义了连接池内单个连接所拥有的最大缓存statements数。Default: 0 –>
<property name=”maxStatementsPerConnection” value=”5″></property>
<!–最大空闲时间,1800秒内未使用则连接被丢弃。若为0则永不丢弃。Default: 0 –>
<property name=”maxIdleTime” value=”1800″></property>
</bean>

<!– 配置SessionFactory –>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<property name=”dataSource” ref=”dataSource”></property>
<property name=”configLocation” value=”classpath:hibernate.cfg.xml”></property>
</bean>

<!– 配置声明式的事务管理(采用基于注解的方式) –>
<bean id=”transactionManager” class=”org.springframework.orm.hibernate3.HibernateTransactionManager”>
<property name=”sessionFactory” ref=”sessionFactory”></property>
</bean>
<tx:annotation-driven transaction-manager=”transactionManager”/>

</beans>

加载ssh项目,tomcat启动报错
引用 5 楼 dengyuehui 的回复:

可以尝试下 改下JDK版本

换了,还是没用

加载ssh项目,tomcat启动报错
我也会碰到这么些情况,我的解决办法是慢慢导包,一个一个来根据错误提示导包 ,然后就解决了
加载ssh项目,tomcat启动报错
引用 9 楼 u012355452 的回复:

我也会碰到这么些情况,我的解决办法是慢慢导包,一个一个来根据错误提示导包 ,然后就解决了

你有做好的包可以共享吗

加载ssh项目,tomcat启动报错
<!– 配置SessionFactory –>
<bean id=”sessionFactory” class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<property name=”dataSource” ref=”dataSource”></property>
<property name=”configLocation” value=”classpath:hibernate.cfg.xml”></property>
</bean>  

这个配置中的configLocation 不然不指向配置文件  直接配置试试?

加载ssh项目,tomcat启动报错
<bean name=”sessionFactory”
class=”org.springframework.orm.hibernate3.LocalSessionFactoryBean”>
<!–  <property name=”dataSource” ref=”dataSource”></property> –>
<property name=”mappingResources”>
<list> 
<value>com/cxy/is/entity/XXXXXX.hbm.xml</value>
 </list>
</property>
<property name=”hibernateProperties”>
<props>
<!–  <prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLDialect</prop> –>
<prop key=”hibernate.dialect”>org.hibernate.dialect.MySQLInnoDBDialect</prop>
<!– hibernate批处理 最大连接 –>
<prop key=”hibernate.jdbc.batch_size”>20</prop>
<prop key=”hibernate.show_sql”>true</prop>
<prop key=”hibernate.format_sql”>true</prop>
</props>
</property>
</bean>
加载ssh项目,tomcat启动报错
你看一下是不是包冲突
加载ssh项目,tomcat启动报错
这种情况一般都是包导入的问题,可以重新导入下包,ssh包网上很多的!
加载ssh项目,tomcat启动报错
hibernate的包导入了没
加载ssh项目,tomcat启动报错
估计SSH的版本不统一导致的吧!或是JDK版本问题
加载ssh项目,tomcat启动报错
包的问题啊。

CodeBye 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明加载ssh项目,tomcat启动报错
喜欢 (0)
[1034331897@qq.com]
分享 (0)

文章评论已关闭!