Community
Participate
Working Groups
We should confirm that the context classloader has an appropriate value. see bug 30919 for details
The default context class loader in the Framework is the application classloader which includes the startup.jar -> extension classloader -> boot classloader. This is probably not the right choice. Question is what did eclipse used to use as the default context class loader? The boot classloader? The default context class loader is set by the parent thread of eclipse so I would imagine the EclipseStarter would have to set the context classloader to whatever it wants to use as the default class loader for the rest of eclipse.
I do not recall classic eclipse doing anything in this area. Perhaps the subject never came up? Seems like the right answer might be the PARENT classloader as defined in RFC70. Seems also that this would have to be set by EclipseStarter. Basiclaly before a thread is forked.
What do we want to do here? Set the context classloader to the Bundle ParentClassLoader? From bug 30919 it appears eclipse 2.1 has the context classloader set to the application classloader. Bug 30919 raises the question of whether this is correct or not. It seems to be incorrect since there is no other way to get access to the application classloader from a plugin/bundle in eclipse. If we change this behavior in 3.0 will it be an issue for backwards compatiblity?
Decided against making any changes for 3.0 in this area. Duping to 30919 where the real discussion is about what the proper value of the default context classloader should be. *** This bug has been marked as a duplicate of 30919 ***