我想在glassfish 3.0.1上使用JPA安裝休眠3.5.3;使用log4j休眠和glassfish 3.0.1
我正在使用netbeans 6.9.1企業項目;我添加了所有必需的Hibernate文件,一切都只是記錄罰款...
我加入到項目的類路徑,如文檔說以下(僅日誌相關的罐子中列出):
-slf4j-API - 1.5.8.jar
-slf4j-log4j12-1.5.8.jar
-log4j-1.2.16.jar
-log4j.properties它看起來像:
log4j.appender.stdout=org.apache.log4j.ConsoleAppender
log4j.appender.stdout.Target=System.out
log4j.appender.stdout.layout=org.apache.log4j.PatternLayout
log4j.appender.stdout.layout.ConversionPattern=%d{ABSOLUTE} %5p %c{1}:%L - %m%n
log4j.rootLogger=info, stdout
log4j.logger.org.hibernate.test=info
log4j.logger.org.hibernate.tool.hbm2ddl=debug
我還使用-Dlog4j.debug
JVM屬性來激活調試。
當我部署我得到這個服務器日誌:
SEVERE: log4j:ERROR A "org.apache.log4j.ConsoleAppender" object is not assignable to a "org.apache.log4j.Appender" variable.
SEVERE: log4j:ERROR The class "org.apache.log4j.Appender" was loaded by
SEVERE: log4j:ERROR [EarLibClassLoader :
urlSet = [URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/antlr-2.7.6.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/commons-collections-3.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/dom4j-1.6.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/gwt-servlet.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate3.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/javassist-3.9.0.GA.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/jta-1.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/log4j-1.2.16.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/slf4j-api-1.5.8.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/slf4j-log4j12-1.5.8.jar]
doneCalled = false
Parent -> [email protected]
] whereas object of type
SEVERE: log4j:ERROR "org.apache.log4j.ConsoleAppender" was loaded by [EarLibClassLoader :
urlSet = [URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/antlr-2.7.6.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/commons-collections-3.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/dom4j-1.6.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/gwt-servlet.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate-jpa-2.0-api-1.0.0.Final.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/hibernate3.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/javassist-3.9.0.GA.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/jta-1.1.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/log4j-1.2.16.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/slf4j-api-1.5.8.jar, URLEntry : file:/C:/Users/Bogdan/Documents/NetBeansProjects/GwtCms/dist/gfdeploy/GwtCms/lib/slf4j-log4j12-1.5.8.jar]
doneCalled = false
Parent -> [email protected]
].
SEVERE: log4j:ERROR Could not instantiate appender named "stdout".
SEVERE: log4j:WARN No appenders could be found for logger (org.hibernate.cfg.annotations.Version).
SEVERE: log4j:WARN Please initialize the log4j system properly.
SEVERE: log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info.
關於如何解決這個任何想法?謝謝!
編輯
我想從我的項目中移除的log4j作爲圖莎爾Tarkas建議:
SEVERE: org/apache/log4j/Level
java.lang.NoClassDefFoundError: org/apache/log4j/Level
at org.slf4j.LoggerFactory.getSingleton(LoggerFactory.java:223)
at org.slf4j.LoggerFactory.bind(LoggerFactory.java:120)
at org.slf4j.LoggerFactory.performInitialization(LoggerFactory.java:111)
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:269)
EDIT2:SOLUTION
我不知道爲什麼,但如果我複製/ domains/domain1/lib中的log4j-1.2.16.jar文件。
EDIT3:
帕斯卡,這裏就是GF部署。
EnterpriseApplication1-ejb_jar >
.netbeans_automatic_build
.netbeans_update_resources
ejbs // classes for EJB
entities // classes for entities
log4j.properties
META-INF
EnterpriseApplication1-war_war >
index.jsp
META-INF
WEB-INF
META-INF
lib >
antlr-2.7.6.jar
commons-collections-3.1.jar
dom4j-1.6.1.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
hibernate3.jar
javassist-3.9.0.GA.jar
jta-1.1.jar
log4j-1.2.16.jar
slf4j-api-1.5.8.jar
slf4j-log4j12-1.5.8.jar
刪除log4j.jar當然不是解決方案。但我想知道你是如何精確包裝的。 – 2010-08-11 23:05:52
帕斯卡見我最後的編輯:) – Bogdan 2010-08-12 06:55:42
無論如何,我已經寫了一篇關於設置Hibernate + GF + NB的教程。我仍然對使log4j與GF3一起工作的更好方法感興趣。該教程可以在這裏找到:http://bogdantanaseit.blogspot.com/2010/08/hibernate-jpa-20-on-glassfish-v3-with.html – Bogdan 2010-08-12 18:58:34