RFR  8139297: java.lang.NoClassDefFoundError: Could not initialize class jdk.internal.jimage.ImageNativeSubstrate
mandy.chung at oracle.com
Fri Oct 9 21:16:30 UTC 2015
On 10/09/2015 12:37 PM, Alan Bateman wrote:
> On 09/10/2015 20:26, Jim Laskey (Oracle) wrote:
>> "it should never attempt to use the native implementation” This is
>> confusing. It’s attempting to see if a native library is present
>> otherwise use java. Is this the wrong approach?
> jrtfs should use the native implementation when targeting the current
> runtime of course.
> However, when the target runtime is different then the safest is to
> use the pure-java implementation. I think this will become more
> obvious when jrtfs is updated to work on JDK 9 but targeting a
> different JDK 9 build.
I also think it's a better approach for jrtfs to use pure-java
implementation when targetting a different runtime. Perhaps you can add
a method SystemImages::isCurrentRuntime (something like that) that
BasicImageReader can use to determine if it should use
ImageNativeSubstrate or ImageJavaSubstrate.
More information about the core-libs-dev