2012-05-07 131 views
0

我在weblogic 10.3.3上部署了一个war文件,但遇到此错误。SLF4J与Weblogic的战争部署失败

<May 7, 2012 2:40:10 PM ICT> <Error> <Deployer> <VIEAE747399> <AdminServer> <[STANDBY] ExecuteThread: '1' for queue: 'weblogic.kernel.Default (self-tuning)'> <<WLS Kernel>> <> <> <1336376410618> <BEA-149265> <Failure occurred in the execution of deployment request with ID '1336376405480' for task '2'. Error is: 'weblogic.application.ModuleException: [HTTP:101216]Servlet: "quotation-service" failed to preload on startup in Web application: "service-quotation.war". 
org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'org.springframework.dao.annotation.PersistenceExceptionTranslationPostProcessor#0' defined in URL [zip:C:/Oracle/Middleware/user_projects/domains/a2_domain/servers/AdminServer/tmp/_WL_user/service-quotation/aio4oc/war/WEB-INF/lib/quotation-storage-2_0_0.jar!/config/quotation-storage-context.xml]: Initialization of bean failed; nested exception is org.springframework.beans.factory.BeanCreationException: Error creating bean with name 'entityManagerFactory' defined in URL [zip:C:/Oracle/Middleware/user_projects/domains/a2_domain/servers/AdminServer/tmp/_WL_user/service-quotation/aio4oc/war/WEB-INF/lib/quotation-storage-2_0_0.jar!/config/quotation-storage-context.xml]: Invocation of init method failed; nested exception is java.lang.ExceptionInInitializerError 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:527) 
    at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:456) 
    at org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:291) 
    at org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:222) 
... 

Caused by: java.lang.ExceptionInInitializerError 
at org.hibernate.ejb.Ejb3Configuration.<clinit>(Ejb3Configuration.java:130) 
at org.hibernate.ejb.HibernatePersistence.createContainerEntityManagerFactory(HibernatePersistence.java:72) 
at org.springframework.orm.jpa.LocalContainerEntityManagerFactoryBean.createNativeEntityManagerFactory(LocalContainerEntityManagerFactoryBean.java:225) 
at org.springframework.orm.jpa.AbstractEntityManagerFactoryBean.afterPropertiesSet(AbstractEntityManagerFactoryBean.java:308) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1477) 
at org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1417) 
... 70 more 
Caused by: java.lang.IllegalStateException: org.slf4j.LoggerFactory could not be successfully initialized. See also http://www.slf4j.org/codes.html#unsuccessfulInit 
at org.slf4j.LoggerFactory.getILoggerFactory(LoggerFactory.java:282) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:248) 
at org.slf4j.LoggerFactory.getLogger(LoggerFactory.java:261) 
at org.hibernate.cfg.Configuration.<clinit>(Configuration.java:197) 
... 76 more 

在WEB-INF /服务quotation.war的lib下,下面的文件被包括

log4j-1.2.16.jar 
slf4j-api-1.6.1.jar 
slf4j-log4j12-1.6.1.jar 

我明白任何建议,提示。

注:我部署成功这场战争在Tomcat 6

+0

在出现异常之前是否有任何错误消息被记录? 'org.slf4j.LoggerFactory无法成功初始化'没有理由不会发生,您通常会被告知这个原因。 – Thomas

+0

@Thomas,这就是我所有的错误信息。我怀疑我需要将这些jar文件添加到weblogic中,但我不确定将它们放在哪里。 – bnguyen82

+1

您是否阅读了例外中提到的网页?如果是这样,当你尝试它的建议时会发生什么? – skaffman

回答

0

感谢所有,

最后我找到解决办法来解决log4j的错误。我将下面的weblogic.xml文件添加到WEB-INF文件夹中,以指示weblogic在war文件中使用slf4j jar。我甚至不需要将这些jar文件添加到weblogic安装文件夹中。

<!DOCTYPE weblogic-web-app PUBLIC "-//BEA 
Systems, Inc.//DTD Web Application 7.0//EN" 
"http://www.bea.com/servers/wls700/dtd/weblogic700-web-jar.dtd"> 
<weblogic-web-app> 
<container-descriptor> 
<prefer-web-inf-classes>true</prefer-web-inf-classes> 
</container-descriptor> 
</weblogic-web-app> 

然后,为了克服休眠问题我添加下面一行在文件中的第一个代码行的setDomainEnv.cmd启用的Hiberante共享库在WebLogic

set PRE_CLASSPATH=%PRE_CLASSPATH%;C:\Oracle\Middleware\modules\javax.persistence_1.1.0.0_2-0.jar;C:\Oracle\Middleware\modules\com.oracle.jpa2support_1.0.0.0_2-1.jar 

(PLS第一检查上述文件路径是存在)

希望这对有需要的人有帮助。