The apache logger doc says that this maybe a new "feature"
If the isAssignableFrom() test fails because there is more than one instance of org.apache.commons.logging.Log visible in the class loader hierarchy, make the exception message that is reported explicitly state this, rather than the potentially misleading claim that an implementation class does not implement Log.
However, trying to figure out where more than onle instance of Log might be visible is a difficult task.
I am also relatively certain that there is only one copy of the class in any of the jar files in the class path... that is,
org.apache.commons.logging.Log only exists in the commons-logging.jar found in the jbossweb-catalina.sar.
OK, it might be that ANY class that implements Log. So now I'm thinking that maybe the cataina/common-el.jar has a logger... and that this might be the culprit?
now we find that if we drop the commons-logging.jar into the ant/lib dir, the darned thing works. what is up with that? shouldn't have to place commons-logging there.
OK, we;ve put our heads together and decided that this is our work around, to drop commons-logging.jar into the ant/lib folder. now we can build everthing again, and go on to start testing our 3.2.6 port.
The boiled down, simplest example of this problem is to do a jasper task followed by a webdoclet task in ant. we've taken out all the other cruft. just those two remain.
Seems to be an xdoclet issue. looks like it fights with jasper for the Log instance. we made sure that we were updated to xdoclet 1.2.2, made sure that we have the right and proper versions of all jars of this and we get a different error. so our xdoclet was not up to date. but now that it is, we still get failures.
We're still telling our developers to drop commons-logging into their ant/lib folder as a work-around.