简体   繁体   English

在Websphere 8.5.01上部署时,Log4JLogger不实现日志

[英]Log4JLogger does not implement Log when deploying on websphere 8.5.01

I am facing this problem when trying to deploy an EAR file to websphere 8.5.0.1. 尝试将EAR文件部署到Websphere 8.5.0.1时遇到了这个问题。 The EAR only contains on its dependencies EAR仅包含其依赖项

commons-logging-1.1.3.jar, log4j-1.2.17.jar commons-logging-1.1.3.jar,log4j-1.2.17.jar

and a single JSF page. 和一个JSF页面。 As a remark, in the classpath by default must be a common-loggins copy, so deleting the library is not an option. 请注意,默认情况下,classpath中的目录必须是common-loggins副本,因此不能删除库。 The problem ocurs when initiliazing the server provided myfaces library, which needs commons-logging. 初始化服务器提供的myfaces库时出现问题,该库需要公共日志记录。 The stack trace is pasted at the bottom. 堆栈跟踪粘贴在底部。 The application and we module classloaders are setted as parent last. 该应用程序和我们的模块类加载器被设置为父级。

Any help will be highly appreciated 任何帮助将不胜感激

An error occured while initializing MyFaces: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
          org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:532)
    at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:272)
    at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:414)
    at org.apache.commons.digester.Digester.<init>(Digester.java:308)
    at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.<init>(DigesterFacesConfigUnmarshallerImpl.java:42)
    at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getUnmarshaller(DefaultFacesConfigurationProvider.java:93)
    at org.apache.myfaces.config.DefaultFacesConfigurationProvider.getStandardFacesConfig(DefaultFacesConfigurationProvider.java:131)
    at org.apache.myfaces.config.DefaultFacesConfigurationMerger.getFacesConfigData(DefaultFacesConfigurationMerger.java:69)
    at org.apache.myfaces.config.FacesConfigurator.configure(FacesConfigurator.java:456)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.buildConfiguration(AbstractFacesInitializer.java:313)
    at org.apache.myfaces.webapp.Jsp21FacesInitializer.initContainerIntegration(Jsp21FacesInitializer.java:73)
    at org.apache.myfaces.webapp.AbstractFacesInitializer.initFaces(AbstractFacesInitializer.java:136)
    at org.apache.myfaces.webapp.StartupServletContextListener.contextInitialized(StartupServletContextListener.java:111)
    at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1676)
    at com.ibm.ws.webcontainer.webapp.WebAppImpl.initialize(WebAppImpl.java:414)
    at com.ibm.ws.webcontainer.webapp.WebGroupImpl.addWebApplication(WebGroupImpl.java:88)
    at com.ibm.ws.webcontainer.VirtualHostImpl.addWebApplication(VirtualHostImpl.java:169)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApp(WSWebContainer.java:749)
    at com.ibm.ws.webcontainer.WSWebContainer.addWebApplication(WSWebContainer.java:634)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.install(WebContainerImpl.java:426)
    at com.ibm.ws.webcontainer.component.WebContainerImpl.start(WebContainerImpl.java:718)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:1173)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.fireDeployedObjectStart(DeployedApplicationImpl.java:1370)
    at com.ibm.ws.runtime.component.DeployedModuleImpl.start(DeployedModuleImpl.java:639)
    at com.ibm.ws.runtime.component.DeployedApplicationImpl.start(DeployedApplicationImpl.java:968)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.startApplication(ApplicationMgrImpl.java:772)
    at com.ibm.ws.runtime.component.ApplicationMgrImpl.start(ApplicationMgrImpl.java:2175)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:445)
    at com.ibm.ws.runtime.component.CompositionUnitImpl.start(CompositionUnitImpl.java:123)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.start(CompositionUnitMgrImpl.java:388)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl.access$500(CompositionUnitMgrImpl.java:116)
    at com.ibm.ws.runtime.component.CompositionUnitMgrImpl$CUInitializer.run(CompositionUnitMgrImpl.java:994)
    at com.ibm.wsspi.runtime.component.WsComponentImpl$_AsynchInitializer.run(WsComponentImpl.java:349)
    at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1814)
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:416)
    at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:525)
    ... 33 more
Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Log4JLogger does not implement Log
    at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:412)
    ... 34 more

WAS leverages apache common logging for this reason using it in your EAR with Parent Last policy break the runtime consistency and you get that exception. 为此,WAS利用apache通用日志记录在EAR中将其与Parent Last一起使用,从而破坏了运行时的一致性,并导致该异常。

I suggest you to remove that jar from your application to use the WAS provided one. 我建议您从应用程序中删除该jar,以使用WAS提供的jar。 For further details: Configuring applications to use Jakarta Commons Logging 有关更多详细信息: 配置应用程序以使用Jakarta Commons Logging

Could be that you have 2 versions of commons-logging jar on the classpath. 可能是您在类路径上有2个commons-logging jar版本。 Remove one of them. 删除其中之一。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

相关问题 在WildFly中重新部署ESAPI应用程序时,ClassCastException Log4JLogger无法转换为Logger - ClassCastException Log4JLogger cannot be cast to Logger when redeploying ESAPI application in WildFly 是什么原因导致Log4JLogger无法找到或无法使用? - Whats the root cause of Log4JLogger' cannot be found or is not useable? PDFBox 合并命令工具与 Log4JLogger 的问题 - PDFBox merge command tool problem with Log4JLogger 扩展 Log4JLogger 并在运行时调用子类 - Extend Log4JLogger and invoke subclass during runtime Sbt test: class org.apache.logging.slf4j.Log4jLogger cannot be cast to class ch.qos.logback.classic.Logger (org.apache.logging.slf4j.Log4jLogger - Sbt test: class org.apache.logging.slf4j.Log4jLogger cannot be cast to class ch.qos.logback.classic.Logger (org.apache.logging.slf4j.Log4jLogger Websphere Service Log和Log Level有什么关系 - Websphere Service Log and Log Level what is the relation 当类加载器设置为父级时,log4j日志在Websphere中不起作用 - log4j log not working in Websphere when Class loader setting is parent first Weblogic11:用户指定的日志类&#39;org.apache.commons.logging.impl.Log4JLogger&#39;找不到或无法使用 - Weblogic11: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable 运行时的WebSphere 7日志级别配置 - WebSphere 7 log level configuration at runtime java.lang.ClassNotFoundException:net.spy.memcached.compat.log.SLF4JLogger - java.lang.ClassNotFoundException: net.spy.memcached.compat.log.SLF4JLogger
 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM