IMO the problem is still there because of some other jar in the classpath.
ant-commons-logging.jar only contains a class wrapper to commons-logging Log.
The actual implementation must be in a jar named commons-logging.jar somewhere in the classpath.


Regards.

Brian Lee Yung Rowe wrote:

Hi:

I'm using commons logging with Ant and Hibernate and am getting a class loader error which has me scratching my head. I'm sending to this list as I believe it to be a configuration issue with Logging as opposed to Hibernate. Evidence otherwise is certainly welcome.

First some background: I'm trying to run Hibernate's schema export taskdef via Ant. The versions of salient libraries are below:

Ant 1.6.1
Commons-Logging 1.0.4
Log4J 1.2.8
Hibernate 2.1

This is the error I'm getting:
--- Nested Exception ---
java.lang.ExceptionInInitializerError
at net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.getConfiguration(SchemaExportTask.java:182)
at net.sf.hibernate.tool.hbm2ddl.SchemaExportTask.execute(SchemaExportTask.java:135)
...
Caused by: org.apache.commons.logging.LogConfigurationException: org.apache.commons.logging.LogConfigurationException: 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.getLogConstructor(LogFactoryImpl.java:397)
at org.apache.commons.logging.impl.LogFactoryImpl.newInstance(LogFactoryImpl.java:529)



I checked my classpath (with a home-grown utility) to verify that there is only one org.apache.commons.logging.Log class within all of the jars in the classpath.


Running ant -diagnostic shows the ant-commons-logging.jar loaded via Ant. I removed this jar and got the same error.

Now the interesting part. I removed the commons-logging.jar from my classpath and now I get a java.lang.NoClassDefFoundError: org/apache/commons/logging/LogFactory
at org.apache.tools.ant.Project.executeTarget(Project.java:1224)
at org.apache.tools.ant.Project.executeTargets(Project.java:1063)


which I take to mean that I truly have only one copy of the commons-logging package in my classpath.

So why does logging think there's an additional version of Log visible?

Any ideas are greatly appreciated.

Regards,
Brian



-------------------------------------------------------------------------------------------------------------------
Este correo electr�nico y, en su caso, cualquier fichero anexo al mismo, contiene 
informaci�n de car�cter confidencial exclusivamente dirigida a su destinatario o 
destinatarios. Queda prohibida su divulgaci�n, copia o distribuci�n a terceros sin la 
previa autorizaci�n escrita de Indra. En el caso de haber recibido este correo 
electr�nico por error, se ruega notificar inmediatamente esta circunstancia mediante 
reenv�o a la direcci�n electr�nica del remitente.

The information in this e-mail and in any attachments is confidential and solely for 
the attention and use of the named addressee(s). You are hereby notified that any 
dissemination, distribution or copy of this communication is prohibited without the 
prior written consent of Indra. If you have received this communication in error, 
please, notify the sender by reply e-mail

---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]



Reply via email to