Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

getClass().getClassLoader() is null, why?

I've got some code that calls..

x = getClass().getClassLoader(); 

This returns null though.

When I start the same code not from Eclipse, but the command line, it returns a classloader.

I can hack the code to do this...

if (getClass().getClassLoader() == null) {  x = ClassLoader.getSystemClassLoader().getSystemResourceAsStream( loadedPropFileName ); }  

both are compiled and run with the same JVM. (I'm 99.99% sure).

Anyone have any ideas why the first would return null for the classloader?

Edit:

My question is does "Anyone have any ideas why the same class would return null when started via Eclipse and a class loader when loaded from the command line."

Thanks for the advice that the Bootstap loader must be loading the class in Eclipse. I've no idea why this happens though.

like image 860
jeff porter Avatar asked Dec 17 '09 11:12

jeff porter


1 Answers

Citing the API doc:

Some implementations may use null to represent the bootstrap class loader. This method will return null in such implementations if this class was loaded by the bootstrap class loader.

like image 199
Michael Borgwardt Avatar answered Oct 08 '22 19:10

Michael Borgwardt