Bonjour,

je tente de migrer une application depuis tomcat vers jboss. Après quelques corrections dues à une saleté de validation du web.xml (-> passage de 2.4 à 2.5) et le correction de mes datasources, je tombe sur cette erreur de derrière les fagots que je ne m'explique pas (j'ai raccourcis le stacktrace):

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
jvm 1    | 18:12:32,723 ERROR [[/intranet]] Error configuring application listener of class org.apache.myfaces.webapp.StartupServletContextListener
jvm 1    | java.lang.ExceptionInInitializerError
jvm 1    | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jvm 1    | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
             =====snip =====
jvm 1    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
jvm 1    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
jvm 1    | 	at java.lang.Thread.run(Thread.java:619)
jvm 1    | Caused by: org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:798)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
jvm 1    | 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
jvm 1    | 	at org.apache.myfaces.webapp.StartupServletContextListener.<clinit>(StartupServletContextListener.java:58)
jvm 1    | 	... 72 more
jvm 1    | 18:12:32,729 ERROR [[/intranet]] Error configuring application listener of class org.apache.commons.chain.web.ChainListener
jvm 1    | java.lang.ExceptionInInitializerError
jvm 1    | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
jvm 1    | 	at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:39)
             =====snip =====
jvm 1    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:886)
jvm 1    | 	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:908)
jvm 1    | 	at java.lang.Thread.run(Thread.java:619)
jvm 1    | Caused by: org.apache.commons.logging.LogConfigurationException: User-specified log class 'org.apache.commons.logging.impl.Log4JLogger' cannot be found or is not useable.
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.discoverLogImplementation(LogFactoryImpl.java:798)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:601)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:333)
jvm 1    | 	at org.apache.commons.logging.impl.LogFactoryImpl.getInstance(LogFactoryImpl.java:307)
jvm 1    | 	at org.apache.commons.logging.LogFactory.getLog(LogFactory.java:645)
jvm 1    | 	at org.apache.commons.chain.web.ChainListener.<clinit>(ChainListener.java:144)
jvm 1    | 	... 72 more
jvm 1    | 18:12:32,730 ERROR [[/intranet]] Skipped installing application listeners due to previous error(s)
jvm 1    | 18:12:32,730 ERROR [StandardContext] Error listenerStart
jvm 1    | 18:12:32,731 ERROR [StandardContext] Context [/intranet] startup failed due to previous errors
jvm 1    | 18:12:32,733 ERROR [AbstractKernelController] Error installing to Start: name=jboss.web.deployment:war=/intranet state=Create mode=Manual requiredState=Installed
jvm 1    | org.jboss.deployers.spi.DeploymentException: URL file:/web/intraweb/apps/jboss-5.1.0.GA/server/default/tmp/5c4og65-emnnmd-g24u100t-1-g24x9zxm-9t/intranet.war/ deployment failed
le Log4JLogger est bien présent dans mon WEB-INF/lib:
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
delbd@cal-12:~/dev/workspaces/dbrh2/be.meteo.intranet.webapp.parent$ grep org.apache.commons.logging.impl.Log4JLogger betaserver/target/intranet-rmibeta-1.3-DBRH2R2-SNAPSHOT/WEB-INF/lib/*
Fichier binaire betaserver/target/intranet-rmibeta-1.3-DBRH2R2-SNAPSHOT/WEB-INF/lib/commons-logging-1.1.1.jar concordant
La seule explication que je voie, serait un micmac entre les classes fournies dans mon WEB-INF/lib et celles fournies avec jboss. Pourtant, il me semble que les règles concernant le J2EE donnent bien priorité à mes classes pour mes webapp. Donc je ne comprend pas comment cette embrouille peut arriver.

Quelqu'un a une solution à proposer?