diff --git a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/SubstrateOptions.java b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/SubstrateOptions.java index 44042d9c692c..3c7bcd48486d 100644 --- a/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/SubstrateOptions.java +++ b/substratevm/src/com.oracle.svm.core/src/com/oracle/svm/core/SubstrateOptions.java @@ -1441,8 +1441,8 @@ public enum ReportingMode { public static final HostedOptionKey Preserve = new HostedOptionKey<>(AccumulatingLocatableMultiOptionValue.Strings.build()); @Option(help = "Ignore classes or packages (comma separated) from the ones included with '-H:Preserve'. This can be used to workaround potential issues related to '-H:Preserve'.", type = OptionType.Debug) // - public static final HostedOptionKey IgnorePreserveForClasses = new HostedOptionKey<>(AccumulatingLocatableMultiOptionValue.Strings.build()); - + public static final HostedOptionKey IgnorePreserveForClasses = new HostedOptionKey<>( + AccumulatingLocatableMultiOptionValue.Strings.buildWithCommaDelimiter()); @Option(help = "Force include include all public types and methods that can be reached using normal Java access rules.")// public static final HostedOptionKey UseBaseLayerInclusionPolicy = new HostedOptionKey<>(false); diff --git a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java index 6795e1f14a64..6b2387c42881 100644 --- a/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java +++ b/substratevm/src/com.oracle.svm.hosted/src/com/oracle/svm/hosted/image/PreserveOptionsSupport.java @@ -227,7 +227,9 @@ public static void registerPreservedClasses(NativeImageClassLoaderSupport classL }); for (String className : classLoaderSupport.getClassNamesToPreserve()) { - reflection.registerClassLookup(always, className); + if (!classesOrPackagesToIgnore.contains(className)) { + reflection.registerClassLookup(always, className); + } } } }