PDA

View Full Version : You have more than one version of 'org.apache.commons.logging.Log' visible


kannan.ekanath
May 20th, 2008, 12:38 PM
I am trying to use the tutorial at http://www.javaworld.com/javaworld/jw-04-2008/jw-04-osgi2.html?page=2 and when I run a simple dynamic module (which hits the db and fetches a row, plain jdbc, no hibernate/JPA) I get the error,
Caused by: org.apache.commons.logging.LogConfigurationExcepti on: Invalid class loader hierarchy. You have more than one version of 'org.apache.commons.logging.Log' visible, which is not allowed.
at org.apache.commons.logging.impl.LogFactoryImpl.get LogConstructor(LogFactoryImpl.java:385)

Yes, I did google around and there are lot of places where this commons-logging seems to crib (however as usual, no suggestion helps). When I run my dynamic module in eclipse (Using New OSGi Framework) screen, I get this error.

I dont have Spring-IDE installed and this is a very plain dynamic module. Could someone let me know how to even attempt to debug this thing.

a) I tried disabling the "org.apache.commons.logging" and the log4j plugin from the Run configuration that wouldnt help
b) I manually imported commons logging and log4j and even that wouldnt help
c) I did restart everything (my PC as well)

kannan.ekanath
May 20th, 2008, 12:54 PM
I also tried getting the commons-logging, slf, jcl, log4j from the spring enterprise bundle repository and imported them as a plugin project. Still that wouldnt budge. Help please :(

kannan.ekanath
May 20th, 2008, 01:25 PM
On further permutation trying, I found that only importing (SLF, JCL, SLF-Log4j) and removing (commons-logging and log4j) solves this