您的位置:首页 > 其它

ssh整合常见的错误

2016-02-24 17:53 260 查看
1、报错信息:java.lang.IllegalStateException: BeanFactory not initialized or already closed - call 'refresh' before accessing beans via the ApplicationContext

大概看一下错误信息:BeanFactory没有实例化或者已经关闭,原因很简单:ApplicationContext ctx = new ClassPathXmlApplicationContext();Spring实例化BeanFactory的时候是默认到classPath下面查找名为applicationContext.xml的文件。但是这正是这个错误的原因:ApplicationContext ctx = new ClassPathXmlApplicationContext("applicationContext.xml");如果这样的话就不会出现这样的错误了。

2、java.lang.NoClassDefFoundError: javax/transaction/TransactionManager

导入一个jta.jar

3、org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in ServletContext resource [/WEB-INF/HibernateSessionFactory.xml]: Initialization of bean failed; nested exception is java.lang.NoClassDefFoundError: org/hibernate/cache/CacheProvider

原先:<bean id="sessionFactory"
class="org.springframework.orm.hibernate3.annotation.AnnotationSessionFactoryBean">

改成:<bean id="sessionFactory"
class="org.springframework.orm.hibernate4.LocalSessionFactoryBean">

问题解决,发现可以正常使用了

4、java.lang.NoClassDefFoundError: org/jboss/logging/BasicLogger

缺少一个jar包jboss-logging.jar
http://mvnrepository.com/artifact/org.jboss.logging/jboss-logging/3.1.0.CR1

5、java.lang.NoClassDefFoundError: javax/persistence/Entity
java.lang.NoClassDefFoundError: javax/persistence/AttributeConverter

1) 在使用Hibernate3的时候,发现程序编译好了,在运行时总是抛出java.lang.NoClassDefFoundError: javax/persistence/EntityListeners异常,经查找是因为缺少ejb3-persistence.jar包。

只需要在类库中加入ejb3-persistence.jar,就不会出现这个异常了。

这里不理解的是Hibernate3, 为什么不把ejb3-persistence.jar直接放到自己需要的类库中,而非让用户自己找,去添加。

附件是ejb3-persistence.jar

如果需要完整的Hibernate3的相关jar包,请到/article/4135849.html下载

2)Hibernate需要jpa支持,导入jpa的jar包(hibernate-jpa-2.0-api-1.0.1.Final.jar)即可。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: