J'ai développé un JSF-App avec ICEFaces 3.0.1. Avec Tomcat et Glassfish, l'application fonctionne bien. Maintenant, je voulais le tester sur WebSphere Application Server 8.5.0.0. L'application démarre mais quand je fais une action, elle plante.Websphere 8.5: Classe org.apache.commons.logging.impl.Jdk14Logger ne met pas en œuvre Log
J'utilise les libs suivants:
antlr-2.7.6.jar
commons-collections-3.1.jar
commons-lang-2.5.jar
dom4j-1.6.1.jar
icefaces-ace.jar
icefaces-compat.jar
icefaces.jar
icepush.jar
iText-5.0.4.jar
jxl.jar
slf4j-api-1.6.1.jar
hibernate3.jar
javassist-3.9.0.GA.jar
poi-3.8-20120326.jar
xpp3-1.1.4c.jar
slf4j-simple-1.7.2.jar
ojdbc6.jar
commons-logging-1.1.jar
hibernate-jpa-2.0-api-1.0.0.Final.jar
javax.faces.jar
jta-1.1.jar
stacktrace:
[11/22/12 18:57:38:284 CET] 00000063 ExtendedExcep W queued exception
javax.faces.FacesException: invalid property: md
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:84)
at com.sun.faces.lifecycle.Phase.doPhase(Phase.java:101)
at com.sun.faces.lifecycle.LifecycleImpl.execute(LifecycleImpl.java:118)
at javax.faces.webapp.FacesServlet.service(FacesServlet.java:593)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.service(ServletWrapper.java:1214)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:774)
at com.ibm.ws.webcontainer.servlet.ServletWrapper.handleRequest(ServletWrapper.java:456)
at com.ibm.ws.webcontainer.servlet.ServletWrapperImpl.handleRequest(ServletWrapperImpl.java:178)
at com.ibm.ws.webcontainer.filter.WebAppFilterManager.invokeFilters(WebAppFilterManager.java:1027)
at com.ibm.ws.webcontainer.webapp.WebApp.handleRequest(WebApp.java:3703)
at com.ibm.ws.webcontainer.webapp.WebGroup.handleRequest(WebGroup.java:304)
at com.ibm.ws.webcontainer.WebContainer.handleRequest(WebContainer.java:962)
at com.ibm.ws.webcontainer.WSWebContainer.handleRequest(WSWebContainer.java:1662)
at com.ibm.ws.webcontainer.channel.WCChannelLink.ready(WCChannelLink.java:195)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleDiscrimination(HttpInboundLink.java:458)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.handleNewRequest(HttpInboundLink.java:522)
at com.ibm.ws.http.channel.inbound.impl.HttpInboundLink.processRequest(HttpInboundLink.java:311)
at com.ibm.ws.http.channel.inbound.impl.HttpICLReadCallback.complete(HttpICLReadCallback.java:87)
at com.ibm.ws.tcp.channel.impl.AioReadCompletionListener.futureCompleted(AioReadCompletionListener.java:165)
at com.ibm.io.async.AbstractAsyncFuture.invokeCallback(AbstractAsyncFuture.java:217)
at com.ibm.io.async.AsyncChannelFuture.fireCompletionActions(AsyncChannelFuture.java:161)
at com.ibm.io.async.AsyncFuture.completed(AsyncFuture.java:138)
at com.ibm.io.async.ResultHandler.complete(ResultHandler.java:204)
at com.ibm.io.async.ResultHandler.runEventProcessingLoop(ResultHandler.java:775)
at com.ibm.io.async.ResultHandler$2.run(ResultHandler.java:905)
at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1783)
Caused by: javax.validation.ValidationException: invalid property: md
at org.apache.bval.jsr303.util.PathNavigation.navigateAndReturn(PathNavigation.java:105)
at org.apache.bval.jsr303.util.PathNavigation.navigate(PathNavigation.java:117)
at org.apache.bval.jsr303.ClassValidator.validateValueImpl(ClassValidator.java:718)
at org.apache.bval.jsr303.ClassValidator.validateValue(ClassValidator.java:239)
at org.apache.bval.jsr303.ClassValidator.validateValue(ClassValidator.java:231)
at javax.faces.validator.BeanValidator.validate(BeanValidator.java:306)
at javax.faces.component.UIInput.validateValue(UIInput.java:1149)
at javax.faces.component.UIInput.validate(UIInput.java:967)
at javax.faces.component.UIInput.executeValidate(UIInput.java:1233)
at javax.faces.component.UIInput.processValidators(UIInput.java:698)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at com.icesoft.faces.component.paneltabset.PanelTabSet.applyPhase(PanelTabSet.java:155)
at com.icesoft.faces.component.paneltabset.PanelTabSet.applyPhase(PanelTabSet.java:127)
at com.icesoft.faces.component.paneltabset.PanelTabSet.processValidators(PanelTabSet.java:199)
at javax.faces.component.UIForm.processValidators(UIForm.java:253)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIComponentBase.processValidators(UIComponentBase.java:1214)
at javax.faces.component.UIViewRoot.processValidators(UIViewRoot.java:1172)
at com.sun.faces.lifecycle.ProcessValidationsPhase.execute(ProcessValidationsPhase.java:76)
... 25 more
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger 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.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:246)
at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:395)
at org.apache.commons.beanutils.ConvertUtilsBean.<init>(ConvertUtilsBean.java:157)
at org.apache.commons.beanutils.BeanUtilsBean.<init>(BeanUtilsBean.java:117)
at org.apache.commons.beanutils.BeanUtilsBean$1.initialValue(BeanUtilsBean.java:68)
at org.apache.commons.beanutils.ContextClassLoaderLocal.get(ContextClassLoaderLocal.java:153)
at org.apache.commons.beanutils.BeanUtilsBean.getInstance(BeanUtilsBean.java:80)
at org.apache.commons.beanutils.PropertyUtilsBean.getInstance(PropertyUtilsBean.java:114)
at org.apache.commons.beanutils.PropertyUtils.getPropertyDescriptors(PropertyUtils.java:480)
at org.apache.bval.util.PropertyAccess.getPropertyReadMethod(PropertyAccess.java:126)
at org.apache.bval.util.PropertyAccess.getTypeInner(PropertyAccess.java:113)
at org.apache.bval.util.PropertyAccess.isKnown(PropertyAccess.java:101)
at org.apache.bval.jsr303.util.ValidationContextTraversal.handleProperty(ValidationContextTraversal.java:130)
at org.apache.bval.jsr303.util.PathNavigation$PathPosition.handleProperty(PathNavigation.java:278)
at org.apache.bval.jsr303.util.PathNavigation.parse(PathNavigation.java:143)
at org.apache.bval.jsr303.util.PathNavigation.navigateAndReturn(PathNavigation.java:101)
... 46 more
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger 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)
... 63 more
Caused by: org.apache.commons.logging.LogConfigurationException: Class org.apache.commons.logging.impl.Jdk14Logger does not implement Log
at org.apache.commons.logging.impl.LogFactoryImpl.getLogConstructor(LogFactoryImpl.java:412)
... 64 more
Qui puis-je résoudre ce problème?
WebSphere est livré avec ses propres pots-commons-logging. Vous avez probablement défini la règle de chargement de la classe parent-dernier et ces deux implémentations entrent en collision. Supprimer commons-logging-1.1.jar devrait résoudre le problème. jta-1.1.jar va causer des problèmes similaires. –