diff --git a/bom/application/pom.xml b/bom/application/pom.xml
index 684490776ec8e..9806c09d4afd9 100644
--- a/bom/application/pom.xml
+++ b/bom/application/pom.xml
@@ -35,7 +35,7 @@
1.0.1
1.4.1
1.4.1
- 1.9.2
+ 1.9.3
2.2.5
2.4.4
2.0.13
diff --git a/core/runtime/src/main/java/io/quarkus/runtime/configuration/Substitutions.java b/core/runtime/src/main/java/io/quarkus/runtime/configuration/Substitutions.java
index 237f70a3cc1ef..3a35bda308015 100644
--- a/core/runtime/src/main/java/io/quarkus/runtime/configuration/Substitutions.java
+++ b/core/runtime/src/main/java/io/quarkus/runtime/configuration/Substitutions.java
@@ -13,6 +13,7 @@
import com.oracle.svm.core.threadlocal.FastThreadLocalInt;
import io.smallrye.common.constraint.Assert;
+import io.smallrye.config.ConfigMappingMetadata;
import io.smallrye.config.Expressions;
/**
@@ -56,6 +57,15 @@ public static T withoutExpansion(Supplier supplier) {
@TargetClass(className = "io.smallrye.config.ConfigMappingLoader")
static final class Target_ConfigMappingLoader {
+ @Substitute
+ static Class> loadClass(final Class> parent, final ConfigMappingMetadata configMappingMetadata) {
+ try {
+ return parent.getClassLoader().loadClass(configMappingMetadata.getClassName());
+ } catch (ClassNotFoundException e) {
+ return null;
+ }
+ }
+
@Substitute
private static Class> defineClass(final Class> parent, final String className, final byte[] classBytes) {
return null;
@@ -77,5 +87,11 @@ public static Target_ConfigMappingInterface getConfigurationInterface(Class> i
return null;
}
}
+
+ // This should not be called, but we substitute it anyway to make sure we remove any references to ASM classes.
+ @Substitute
+ public byte[] getClassBytes() {
+ return null;
+ }
}
}