So, it turns out to be BasicURLClassPath.addJarsToPath was not doing any kind
of URL checking.

This method is called from several locations, and the subsequent call to
dir.list was/is returning file names with varying case - Not sure why this
would be, but could be the thread context.

The class behind the invoked 'addURLMethod' does a basic internal check on
the provided URL but case matching is not performed, so it is possible to
add duplicate URLs. This means 'we' should ensure that URLs are consistent.

Added the following lines to provide a consistent URL:

new URL(new File(dir,
name).getCanonicalFile().getAbsoluteFile().toURI().toURL().toExternalForm())

...and fall back or error to :

new URL(new File(dir,
name).getAbsoluteFile().toURI().toURL().toExternalForm())

Andy.

--
View this message in context: 
http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4347885.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.

Reply via email to