There are areas where compliant jvms might behave differently. For
example, the exact time when dependent classes are loaded isn't defined.
Maybe at class initialization time, maybe later. All the the spec
requires is that ClassNotFoundExceptions aren't raised until classes
are referred to. So, it is possible that Eclipse requires some precise
semantics of class loading beyond what is strictly required by the
spec. Maybe compiled code loads classes earlier than interpreted
code, and maybe *the effective classpath has changed* by the time gij
tries to load org.eclipse.core.runtime.Plugin.