2014-05-11 112 views
0

当我尝试运行现有项目时,出现以下异常。任何指针都会非常有帮助。Java,Hibernate - 运行现有项目时发生运行时异常

Exception in thread "Thread-5" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'transactionManager' defined in ServletContext resource [/WEB-INF/app_config/applicationContext-dao.xml]: Instantiation of bean failed; nested exception is org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.HibernateTransactionManager]: Constructor threw exception; nested exception is java.lang.NullPointerException 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.j 
ava:965) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBeanInstance(AbstractAutowireCapableBeanFactor 
y.java:898) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java 
:485) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:4 
56) 
     at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
     at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:288) 
     at org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194) 
     at org.springframework.transaction.interceptor.TransactionAspectSupport.determineTransactionManager(TransactionAspectSupport.java:24 
8) 
     at org.springframework.transaction.interceptor.TransactionInterceptor.invoke(TransactionInterceptor.java:100) 
     at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:172) 
     at org.springframework.aop.framework.Cglib2AopProxy$DynamicAdvisedInterceptor.intercept(Cglib2AopProxy.java:621) 
Caused by: org.springframework.beans.BeanInstantiationException: Could not instantiate bean class [org.springframework.orm.hibernate3.Hibern 
ateTransactionManager]: Constructor threw exception; nested exception is java.lang.NullPointerException 
     at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:74) 
     at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.instantiateBean(AbstractAutowireCapableBeanFactory.java:958)                             48535,34  97% 
Caused by: java.lang.NullPointerException 
     at org.apache.commons.logging.LogFactory.getCachedFactory(LogFactory.java:979) 
     at org.apache.commons.logging.LogFactory.getFactory(LogFactory.java:435)           48536,34  97% 
     at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:685) 
                                  48573,27-34 97% 
下面

是bean是如何定义的

<bean id="transactionManager" class="org.springframework.orm.hibernate3.HibernateTransactionManager"> 
     <property name="sessionFactory" ref="sessionFactory" /> 
    </bean> 
+0

错误似乎是它不能创建一个'日志'或使用Apache公共日志记录的东西。 –

+0

我不是很确定,因为我也可以看到这行 - “Bean实例化失败;嵌套异常是org.springframework.beans.BeanInstantiationException:无法实例化bean类[org.springframework.orm.hibernate3.HibernateTransactionManager]:构造函数抛出异常;嵌套异常是java.lang.NullPointerException“。是否因为日志。如果是的话,那我该如何解决这个问题。 –

+0

检查堆栈跟踪的底部:*由org.apache.commons.logging.LogFactory.getCachedFactory(LogFactory.java:979)*中的java.lang.NullPointerException引发。 –

回答

1

http://commons.apache.org/proper/commons-logging/apidocs/org/apache/commons/logging/LogFactory.html#getFactory()

见链接。它需要一个commons-logging.properties你有没有类路径中的任何文件?

+0

nope。你能举一个例子,在这个文件中应该有什么? –

+0

我在我的类路径中有log4j.properties。 –

+0

我认为这不是问题。 'getFactory'方法从确定上下文类加载器开始,然后运行“LogFactory factory = getCachedFactory(contextClassLoader)”的行435;'。现在在问题本身下面看到我的评论。 – Seelenvirtuose

0

它无法找到bean类,并返回NullPointerException异常。

检查所有类和包的名称是否为真,并检查您的应用程序的名称.hbm.xml文件是否为真名。你必须把你的app'sname区域运行的类名..

并检查你映射了app'sname.hbm.xml文件到hibernate.cfg.xml文件

+0

它找到了bean,但在bean内部有一个正在使用的'null'变量。 –

+0

也许某些与数据库不同的列名或不存在于数据库中 – canmurat

+0

否。错误来自Apache Commons Logging。再次阅读堆栈跟踪。 –