You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomee.apache.org by AndyG <an...@orprovision.com> on 2012/01/31 12:00:57 UTC
Trunk classloading is broken with case sensitive paths
Case sensitive jar paths are being assumed.
Found EjbModule in classpath:
d:\OrproVisionServer\openejb\lib\openejb-core-4.0.0-beta-3-SNAPSHOT.jar
Found EjbModule in classpath:
D:\OrproVisionServer\openejb\lib\openejb-core-4.0.0-beta-3-SNAPSHOT.jar
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/d:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/D:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344116.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
great!
- Romain
2012/2/1 AndyG <an...@orprovision.com>
> 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.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
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.
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
David Blevins-2 wrote
>
>
> That definitely seems to be the case.
>
> I would focus debugging efforts at line 87 of
> org.apache.openejb.cli.Bootstrap
>
>
OK, this is more than likely due to the windows service (Commons Daemon)
already having jars on the classpath. From the get go "openejb-core-*.jar"
and "openejb-daemon-*.jar" are added twice and that can't be good - Working
on a solution now.
Andy.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4347322.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by David Blevins <da...@gmail.com>.
On Jan 31, 2012, at 9:24 AM, AndyG wrote:
> I also think this is something that maybe just been highlighted by a
> classloader issue somewhere else.
That definitely seems to be the case.
I would focus debugging efforts at line 87 of org.apache.openejb.cli.Bootstrap
The uppercase and lowercase 'D' drive is definitely odd.
-David
> Has anything been changed with class
> loading over the weekend? Also can't see anything specific but gut tells me
> this is not as simple as it looks.
>
> The following log entries are of concern:
>
> SLF4J: Class path contains multiple SLF4J bindings.
> SLF4J: Found binding in
> [jar:file:/d:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
> SLF4J: Found binding in
> [jar:file:/D:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
>
> I am filtering out the duplicates as discussed and OpenEJB is happy - no
> more duplicate deployment id's etc. But, multiple SLF4J bindings in on the
> same path usually boil down to a classloader issue?
>
> --
> View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345206.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
I also think this is something that maybe just been highlighted by a
classloader issue somewhere else. Has anything been changed with class
loading over the weekend? Also can't see anything specific but gut tells me
this is not as simple as it looks.
The following log entries are of concern:
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in
[jar:file:/d:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in
[jar:file:/D:/OrproVisionServer/openejb/lib/slf4j-log4j12-1.6.4.jar!/org/slf4j/impl/StaticLoggerBinder.class]
I am filtering out the duplicates as discussed and OpenEJB is happy - no
more duplicate deployment id's etc. But, multiple SLF4J bindings in on the
same path usually boil down to a classloader issue?
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345206.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
i removed them because it was complicated to use in real life and a file
was far more easy.
however the include part can be interesting but i didnt know if addind an
"include" file means to ignore the exclude one or not. Maybe something to
do.
Any opinion is welcome about it.
- Romain
2012/2/1 AndyG <an...@orprovision.com>
> In the process of checking this out I have put the following back into
> NewLoaderLogic.
>
> public static final String ADDITIONAL_EXCLUDES =
> System.getProperty("openejb.additional.exclude");
> public static final String ADDITIONAL_INCLUDE =
> System.getProperty("openejb.additional.include");
>
> I know it was only supposed to be a temporary fix, but I like the idea of
> having those options in addition to the file and defaults
>
> Andy.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4347223.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
In the process of checking this out I have put the following back into
NewLoaderLogic.
public static final String ADDITIONAL_EXCLUDES =
System.getProperty("openejb.additional.exclude");
public static final String ADDITIONAL_INCLUDE =
System.getProperty("openejb.additional.include");
I know it was only supposed to be a temporary fix, but I like the idea of
having those options in addition to the file and defaults
Andy.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4347223.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
opps i missed a post, you didnt send your classloader right? is it the app
one or a created one?
- Romain
2012/1/31 AndyG <an...@orprovision.com>
> I have already posted the results of debugging both getResources calls -
> the
> whole list is irrelevant , there are duplicates for 'every' url in the
> list,
> one with an upper case drive letter and the other lower case.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345225.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
I have already posted the results of debugging both getResources calls - the
whole list is irrelevant , there are duplicates for 'every' url in the list,
one with an upper case drive letter and the other lower case.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345225.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
META-INF is removed but as the same file can respond for both getResources
you can get twice the same url.
Can you debug this method and print out what returns both getresources
please?
- Romain
2012/1/31 AndyG <an...@orprovision.com>
> It is the issue as that list is used for scanning, but not sure why it has
> just cropped up over the weekend.
>
> Have seen your changes to the exclude and cannot see anything that would
> cause this. The duplicates need to be weeded out though as every jar is
> basically scanned twice.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345036.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
It is the issue as that list is used for scanning, but not sure why it has
just cropped up over the weekend.
Have seen your changes to the exclude and cannot see anything that would
cause this. The duplicates need to be weeded out though as every jar is
basically scanned twice.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345036.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
i'm not sure it is your issue but i'm able to get twice some urls too.
ths code should be enhanced to ignore already added urls
getting back a file and using File.compareTo can be enough.
- Romain
2012/1/31 Romain Manni-Bucau <rm...@gmail.com>
> in urlset class it does:
>
> private static List<URL> getUrls(ClassLoader classLoader) throws
> IOException {
> List<URL> list = new ArrayList<URL>();
> ArrayList<URL> urls =
> Collections.list(classLoader.getResources("META-INF"));
> for (URL url : urls) {
> String externalForm = url.toExternalForm();
> int i = externalForm.lastIndexOf("META-INF");
> externalForm = externalForm.substring(0, i);
> url = new URL(externalForm);
> list.add(url);
> }
> list.addAll(Collections.list(classLoader.getResources("")));
> return list;
> }
>
> so all jar containing META-INF will be added twice no? did i read too fast?
>
> - Romain
>
>
>
> 2012/1/31 Romain Manni-Bucau <rm...@gmail.com>
>
>> here i got the app classloader. Is it the same for you?
>>
>> - Romain
>>
>>
>>
>> 2012/1/31 AndyG <an...@orprovision.com>
>>
>>> I am getting pretty close to the cause in
>>> DeploymentsResolver.loadFromClasspath
>>>
>>> UrlSet urlSet = new UrlSet(classLoader); <-- Contains duplicate urls.
>>>
>>> ...filter etc.
>>>
>>> Still contains duplicate urls with different drive letters after all
>>> filters
>>> have been applied.
>>>
>>> [62] = {java.util.HashMap$Entry@4579}
>>> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
>>> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
>>> [63] = {java.util.HashMap$Entry@4570}
>>> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
>>> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
>>>
>>> So duplicate modules are discovered in duplicate jars.
>>> Now no idea why UrlSet would get duplicate urls in the first place? - The
>>> supplied classloader definitely looks fine to me!
>>>
>>> The simple solution is to filter out duplicate urls in the urlSet.
>>> Probably
>>> in a platform specific manner.
>>>
>>> --
>>> View this message in context:
>>> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344892.html
>>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>>
>>
>>
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
The iteration just trims off 'META-INF' from the url
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345024.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
Just had a look at that myself and the duplicates are added from the get go.
Collections.list(classLoader.getResources("META-INF")) = Returns duplicates
Collections.list(classLoader.getResources("")) = empty
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4345020.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
in urlset class it does:
private static List<URL> getUrls(ClassLoader classLoader) throws
IOException {
List<URL> list = new ArrayList<URL>();
ArrayList<URL> urls =
Collections.list(classLoader.getResources("META-INF"));
for (URL url : urls) {
String externalForm = url.toExternalForm();
int i = externalForm.lastIndexOf("META-INF");
externalForm = externalForm.substring(0, i);
url = new URL(externalForm);
list.add(url);
}
list.addAll(Collections.list(classLoader.getResources("")));
return list;
}
so all jar containing META-INF will be added twice no? did i read too fast?
- Romain
2012/1/31 Romain Manni-Bucau <rm...@gmail.com>
> here i got the app classloader. Is it the same for you?
>
> - Romain
>
>
>
> 2012/1/31 AndyG <an...@orprovision.com>
>
>> I am getting pretty close to the cause in
>> DeploymentsResolver.loadFromClasspath
>>
>> UrlSet urlSet = new UrlSet(classLoader); <-- Contains duplicate urls.
>>
>> ...filter etc.
>>
>> Still contains duplicate urls with different drive letters after all
>> filters
>> have been applied.
>>
>> [62] = {java.util.HashMap$Entry@4579}
>> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
>> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
>> [63] = {java.util.HashMap$Entry@4570}
>> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
>> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
>>
>> So duplicate modules are discovered in duplicate jars.
>> Now no idea why UrlSet would get duplicate urls in the first place? - The
>> supplied classloader definitely looks fine to me!
>>
>> The simple solution is to filter out duplicate urls in the urlSet.
>> Probably
>> in a platform specific manner.
>>
>> --
>> View this message in context:
>> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344892.html
>> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>>
>
>
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
here i got the app classloader. Is it the same for you?
- Romain
2012/1/31 AndyG <an...@orprovision.com>
> I am getting pretty close to the cause in
> DeploymentsResolver.loadFromClasspath
>
> UrlSet urlSet = new UrlSet(classLoader); <-- Contains duplicate urls.
>
> ...filter etc.
>
> Still contains duplicate urls with different drive letters after all
> filters
> have been applied.
>
> [62] = {java.util.HashMap$Entry@4579}
> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
> jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
> [63] = {java.util.HashMap$Entry@4570}
> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
> jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
>
> So duplicate modules are discovered in duplicate jars.
> Now no idea why UrlSet would get duplicate urls in the first place? - The
> supplied classloader definitely looks fine to me!
>
> The simple solution is to filter out duplicate urls in the urlSet. Probably
> in a platform specific manner.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344892.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
I am getting pretty close to the cause in
DeploymentsResolver.loadFromClasspath
UrlSet urlSet = new UrlSet(classLoader); <-- Contains duplicate urls.
...filter etc.
Still contains duplicate urls with different drive letters after all filters
have been applied.
[62] = {java.util.HashMap$Entry@4579}
jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
jar:file:/D:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
[63] = {java.util.HashMap$Entry@4570}
jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/ ->
jar:file:/d:/OrproVisionServer/openejb/lib/ehcache-core-2.4.6.jar!/
So duplicate modules are discovered in duplicate jars.
Now no idea why UrlSet would get duplicate urls in the first place? - The
supplied classloader definitely looks fine to me!
The simple solution is to filter out duplicate urls in the urlSet. Probably
in a platform specific manner.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344892.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.
Re: Trunk classloading is broken with case sensitive paths
Posted by Romain Manni-Bucau <rm...@gmail.com>.
Hi Andy,
i'm not able to reproduce even on windows.
can you give more info on the way you get this error?
here my libs:
activeio-core-3.1.2.jar log4j-1.2.16.jar
openwebbeans-web-1.1.4-20120131.004354-50.jar
activemq-core-5.5.1.jar
mbean-annotation-api-4.0.0-beta-3-SNAPSHOT.jar openws-1.4.2-1.jar
activemq-protobuf-1.1.jar mimepull-1.4.jar
quartz-1.8.5.jar
activemq-ra-5.5.1.jar neethi-3.0.1.jar
saaj-impl-1.3.12.jar
bval-core-0.4-incubating-20120107.040812-2.jar
openejb-api-4.0.0-beta-3-SNAPSHOT.jar scannotation-1.0.2.jar
bval-jsr303-0.4-incubating-20120107.040812-2.jar
openejb-client-4.0.0-beta-3-SNAPSHOT.jar serializer-2.7.1.jar
commons-beanutils-core-1.8.3.jar
openejb-core-4.0.0-beta-3-SNAPSHOT.jar serp-1.13.1.jar
commons-cli-1.2.jar
openejb-cxf-4.0.0-beta-3-SNAPSHOT.jar slf4j-api-1.6.4.jar
commons-collections-3.2.1.jar
openejb-cxf-bundle-2.5.1.jar slf4j-log4j12-1.6.1.jar
commons-dbcp-1.4.jar
openejb-cxf-transport-4.0.0-beta-3-SNAPSHOT.jar stax2-api-3.0.2.jar
commons-lang-2.6.jar
openejb-daemon-4.0.0-beta-3-SNAPSHOT.jar stax-api-1.0.1.jar
commons-lang3-3.1.jar
openejb-ejbd-4.0.0-beta-3-SNAPSHOT.jar stax-api-1.0-2.jar
commons-logging-1.1.1.jar
openejb-hsql-4.0.0-beta-3-SNAPSHOT.jar
swizzle-stream-1.0.2.jar
commons-net-2.0.jar
openejb-http-4.0.0-beta-3-SNAPSHOT.jar
woodstox-core-asl-4.0.8.jar
commons-pool-1.5.7.jar
openejb-javaagent-4.0.0-beta-3-SNAPSHOT.jar wsdl4j-1.6.2.jar
geronimo-connector-3.1.1.jar
openejb-jee-4.0.0-beta-3-SNAPSHOT.jar wss4j-1.6.4.jar
geronimo-j2ee-connector_1.6_spec-1.0.jar
openejb-loader-4.0.0-beta-3-SNAPSHOT.jar xalan-2.7.1.jar
geronimo-j2ee-management_1.1_spec-1.0.1.jar
openejb-multicast-4.0.0-beta-3-SNAPSHOT.jar
xbean-asm-shaded-3.9.jar
geronimo-javamail_1.4_mail-1.8.2.jar
openejb-server-4.0.0-beta-3-SNAPSHOT.jar
xbean-bundleutils-3.9.jar
geronimo-transaction-3.1.1.jar
openejb-webservices-4.0.0-beta-3-SNAPSHOT.jar
xbean-finder-shaded-3.9.jar
howl-1.0.1-1.jar openjpa-2.1.1.jar
xbean-naming-3.9.jar
hsqldb-2.2.4.jar opensaml-2.5.1-1.jar
xbean-reflect-3.9.jar
javaee-api-6.0-3.jar
openwebbeans-ee-1.1.4-20120131.004409-50.jar xercesImpl-2.9.1.jar
javassist-3.12.1.GA.jar
openwebbeans-ee-common-1.1.4-20120131.004345-50.jar xml-resolver-1.2.jar
jettison-1.3.jar
openwebbeans-ejb-1.1.4-20120131.004402-50.jar
xmlschema-core-2.0.1.jar
joda-time-1.6.2.jar
openwebbeans-impl-1.1.4-20120131.004325-50.jar xmlsec-1.4.6.jar
kahadb-5.5.1.jar
openwebbeans-spi-1.1.4-20120131.004243-50.jar xmltooling-1.3.2-1.jar
- Romain
2012/1/31 AndyG <an...@orprovision.com>
> This has something to do with DeploymentsResolver.loadFromClasspath
>
> The xbean UrlSet contains duplicate urls for every jar on the classpath and
> these are not filtered out.
>
> --
> View this message in context:
> http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344736.html
> Sent from the OpenEJB Dev mailing list archive at Nabble.com.
>
Re: Trunk classloading is broken with case sensitive paths
Posted by AndyG <an...@orprovision.com>.
This has something to do with DeploymentsResolver.loadFromClasspath
The xbean UrlSet contains duplicate urls for every jar on the classpath and
these are not filtered out.
--
View this message in context: http://openejb.979440.n4.nabble.com/Trunk-classloading-is-broken-with-case-sensitive-paths-tp4344116p4344736.html
Sent from the OpenEJB Dev mailing list archive at Nabble.com.