
Jetty used to have the opposite class loading order, i.e. parent-first But if is it truth, it's a straight way to have problems like mine, isn't it?
No, I'm not right. Parent-first is preferable in my situation, because slf4j classes for webapp will be loaded from jetty class loader in this case, and no conflict here... Yes, I tried to change my embedded jetty class loading order to parent first and all works as I need with slf4j-only-WAR. But I tried to deploy slf4j-only-WAR to tomcat with slf4j+logback in Tomcat libs and caught the same linkage error. Tomcat use local-first order by default :) I think I can use embedded jetty with parent-first order and slf4j-only-WAR, but in this case I can't use this WAR in another contaners. Ok, I'll have logback+slf4j in my WAR. Thanks a lot for the help, Aleksey. 04.02.2010 12:52, Ceki Gülcü пишет:
By the way, if the document on Jetty's class loading architecture [1] is accurate, than jetty uses local-first class loading as required by the servlet specs but with exceptions. Indeed, since jetty uses slf4j internally, it is part of what is called the "server classes" which jetty does NOT export to web-apps. So, bundling slf4j-api, logback-core and logback-classic in your web-app should work fine.
Interestingly enough, jetty considers org.apache.log4j and org.apache.commons.logging as *system* classes which the web-app cannot override. I am sure there are good reasons for this strategy but it does not affect slf4j users, unless of course they are using log4j or if they are using jcl-over-slf4j.
Yes, it's complicated...
[1] http://docs.codehaus.org/display/JETTY/Classloading
On 04/02/2010 9:41 AM, Ceki Gülcü wrote:
Assuming jetty uses child-first a.k.a. local-first class loading order, I would recommend to bundle slf4j and logback jar in your war file.
Jetty used to have the opposite class loading order, i.e. parent-first, but I am under the impression that it changed to local-first class loading in recent versions.
BTW, Tomcat uses local-first class loading by default.
HTH,
_______________________________________________ Logback-user mailing list Logback-user@qos.ch http://qos.ch/mailman/listinfo/logback-user