You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@commons.apache.org by Yura Taras <yu...@gmail.com> on 2008/12/02 18:29:20 UTC

org.apache.commons.logging.impl.Log4JLogger does not implement Log

Hi all,
I've found on JCL FAQ page that all exceptions like subject should be
posted here. Let me describe my problem.

Our project consists of lot of modules, and also a lot of common
things are divided in separate "common" modules. We're using Ivy to
track dependencies between modules. A lot of modules produce packaged
WAR file, and dependent modules use parent wars to form updated wars.
It's working good except that fact that copying and packaging of jar's
in WEB-INF/lib takes a lot of build time and disk space. We decided to
try not to copy jars in WEB-INF/lib folder, but to refer them from
META-INF/MANIFEST.MF instead (this is done in development mode only -
wars are fully built when packaging into installer).
When I started implementing such approach, I've faced a problem in
some of modules - "org.apache.commons.logging.impl.Log4JLogger does
not implement Log" started to appear in server/boot.log.
After searching Internet I've found that JCL 1.1.1 should fix this
problem. I've substituted JCL 1.0.4 jar (which we're using now) with
JCL 1.1.1 in our war; also I've substituted it in JBoss/lib and
JBoss/server/xxx/deploy/jbossweb-tomcat50.sar/ (it had 1.0.3 version
before). After performing this other exceptions started to appear:
java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
This has nothing to do with my experiments, because this exception
appears even if I rollback to plain-old war model.

I've attached a zip with log files. 1.0.4_lightweight is a log for our
experimental lightened wars approach; 1.0.4_common is working
plain-old war approach. 1.1.1_common is a log that I receive after
replacing all JCL jars with JCL 1.1.1.

ucl.log is jboss classloader logger, I've enabled it as described
here: http://www.jboss.org/community/docs/DOC-9697
We'\re using JBoss - 4.0.1sp1 (with JCL 1.0.3 included).

One more comment - it would be cool if someone could suggest a
solution with minimal JBoss hacking (I mean substituting jars etc).
We've got JBoss checked in our SCM system and it's shared between our
releases. Still, if it's necessary, we can perform some hacking with
Ant scripts.

Thanks for your comments and suggestions. Feel free to ask more additional info.

PS. I've tried to send full logs zip, but mailer-daemon rejected it
because it's too big. I've removed ucl.log's from zip and attaching it
once more. I'm not sure if you are interested in those files, so if
they can be useful, please, let me know.

Re: org.apache.commons.logging.impl.Log4JLogger does not implement Log

Posted by Yura Taras <yu...@gmail.com>.
I've found a problem and wanted to inform you about it, because it
looks a bit tricky to me.

After changing a jar in JBoss/lib folder you should update jar-versions.xml.
Jar, that was placed in
JBoss\server\xxx\deploy\jbossweb-tomcat50.sar\, should have only
MANIFEST.MF in META-INF. It had also META-INF/maven folder previously,
and due to some strange logic (JBoss hackers?) I hasn't been deployed.

With JCL 1.1.1 in all 3 places (JBoss\lib, jbossweb-tomcat50.sar and
somewhere else, but referred by my.war/META-INF/MANIFEST.MF)
application starts successfully.

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@commons.apache.org
For additional commands, e-mail: user-help@commons.apache.org