jruby/jruby — pull request #2023 by mkristian (2014-10-06 23:33:39+00:00)
Title: detect the right root classloader for more cases

let the root classloader be the one which is the parent of the JRubyClassloader from the runtime.

```RubyInstanceConfig.class.getClassLoader()``` is actually the right classloader which also contains the kernel. it can be even the the ```Thread.currentThread().getContextClassLoader()```. this works quite well for j2ee and osgi environments and from with maven plugins and nexus-plugins.

for the commandline execution of jruby the above classloader is null (I guess because jruby is part of the bootclasspath), then the fallback to ```Thread.currentThread().getContextClassLoader()``` will do.

in case both classloaders are null there is no difference in the implementation.

this patch I consider actually a bug fix since the usual mantra for using ScritpingContainer for me is
```
sc = new ScriptingContainer();
sc.setClassLoader( ScriptingContainer.class.getClassLoader() );
```
well this patch there is no need to set the right classloader anymore.

@enebo @ratnikov instead of squashing I prepare a handful of small pieces like this