1. 程式人生 > >java.lang.NoSuchFieldError: TRACE entity class not found: BookInfo

java.lang.NoSuchFieldError: TRACE entity class not found: BookInfo

錯誤的背景:

利用Spring來整合hibernate的時候,報瞭如下錯誤


Exception in thread "main" org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'sessionFactory' defined in class path resource [applicationContexts.xml]: Invocation of init method failed; nested exception is java.lang.NoSuchFieldError: TRACE
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at cn.com.text.Test.main(Test.java:12)


百度了一天,網友們說的基本上都是以下幾點

1、你在jboss的日誌配置裡開啟了TRACE,但是你的類不支援。log4j的版本號和hibernate或者Spring的版本號不搭配

解決辦法:把低版本的logging換成高版本的jar包

2、jar包衝突,存在兩個版本不同的logging jar包(80%都是這個問題)

3、缺少jar包


但是我的情況比較複雜,我是昨天報這個錯誤,今天錯誤改成其他的了,

org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'localSessionFactoryBean' defined in class path resource [applicationContexts.xml]:

Invocation of init method failed; nested exception is org.hibernate.MappingException:

entity class not found: BookInfo   Caused by: org.hibernate.MappingException: entity class not found: BookInfo


 錯誤原因

注入失敗,對映檔案書寫有問題

正確如下: