程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 數據庫知識 >> SyBase數據庫 >> SyBase教程 >> 【Hibernate】Hibernate3.x獨立運行時的Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder"錯誤

【Hibernate】Hibernate3.x獨立運行時的Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder"錯誤

編輯:SyBase教程

【Hibernate】Hibernate3.x獨立運行時的Failedtoloadclass"org.slf4j.impl.StaticLoggerBinder"錯誤


按理說,如果Hibernate不依附於SSH運行,像《【Struts2+Hibernate3+Spring3】利用SSH整合,完成打印用戶表,用戶登錄、注冊、修改密碼系統》(點擊打開鏈接)一樣,把hibernate-distribution-3.6.10.Final解壓之後,把根目錄的hibernate3.jar,hibernate-distribution-3.6.0.Final\lib\required下的所有jar,hibernate-distribution-3.6.0.Final\lib\jpa下的所有jar也就是那個hibernate-jpa-2.0-api-1.0.1.Final.jar,hibernate-distribution-3.6.0.Final\lib\optional\c3p0下的所有包,也就是那個c3p0-0.9.1.jar,拷貝到相應的Java工程加載同樣可以運行了,但是為什麼沒有Spring與Struts2的支持,就會出現如下圖的,Failed to load class "org.slf4j.impl.StaticLoggerBinder"錯誤呢?

\

這個問題在Hibernate4.x中沒有,可能意識到自己這樣是不對的,在Hibernate3.x中,Hibernate使用SLF4J API這個接口記錄日志,但是在Hibernate的lib中,卻沒有提供Log4J的包,都不知道在想甚的,自己用了的lib包因為害怕與其它框架的日志記錄包沖突卻不提供,導致自己無法獨立運行!

因此,我們要自己補充SLF4J API這個接口。

具體是打開SLF4J官方網站(點擊打開鏈接),下載:

\

解壓之後,如下圖結構,版本號沒問題,取走其中的slf4j-log4j12-1.7.12.jar,加載到獨立運行的Hibernate3.x Java工程。<喎?http://www.Bkjia.com/kf/ware/vc/" target="_blank" class="keylink">vcD4KPHA+PGltZyBzcmM9"http://www.2cto.com/uploadfile/Collfiles/20150629/20150629100722355.png" alt="\">

由於slf4j像Hibernate兼容各種連接Mysql,Orcale等數據庫連接jar包的接口一樣,只是一個兼容各種生成Java日志jar包。還要下載一個真正工作的日志jar包,這裡使用最大眾的log4j,雖然平時我們一般都不會記錄日志的了……打開Apache的官網(點擊打開鏈接)如下圖,選擇log4j-1.2.17.zip(Windows)或者log4j-1.2.17.tar.gz(Linux)。

\

解壓之後,把apache-log4j-1.2.17下的log4j-1.2.17.jar,同樣加載到獨立運行的Hibernate3.x Java工程。

\

此時,獨立的Hibernate3.x已經可以運行了,不過還沒有完,運行時候還會出現如下的log4j:WARN Please initialize the log4j system properly警告:

\

要解決這個問題非常簡單,建立LOG4J 的配置文件即可。如下圖在src目錄下創建配置文件,右擊src文件夾,選擇菜單New>File,文件名輸入log4j.properties,

\

在裡面寫入如下內容:

log4j.rootLogger=WARN, stdout
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d %p [%c] - %m%n
此時,Hibernate3.x終於可以自己獨立運行了,真的是暈死了……

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved