diff --git a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigBuildStep.java b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigBuildStep.java index 4f322f5097813..1724044dd39e3 100644 --- a/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigBuildStep.java +++ b/extensions/arc/deployment/src/main/java/io/quarkus/arc/deployment/ConfigBuildStep.java @@ -410,15 +410,19 @@ void validateConfigMappingsInjectionPoints( if (configClass != null) { AnnotationTarget target = injectionPoint.getAnnotationTarget(); AnnotationInstance mapping = null; - if (target.kind().equals(FIELD)) { - mapping = target.asField().annotation(CONFIG_MAPPING_NAME); - } else if (target.kind().equals(METHOD_PARAMETER)) { - MethodParameterInfo methodParameterInfo = target.asMethodParameter(); - if (methodParameterInfo.type().name().equals(type.name())) { - Set parameterAnnotations = getParameterAnnotations( - validationPhase.getBeanProcessor().getBeanDeployment(), - target.asMethodParameter().method(), methodParameterInfo.position()); - mapping = Annotations.find(parameterAnnotations, CONFIG_MAPPING_NAME); + + // target can be null for synthetic injection point + if (target != null) { + if (target.kind().equals(FIELD)) { + mapping = target.asField().annotation(CONFIG_MAPPING_NAME); + } else if (target.kind().equals(METHOD_PARAMETER)) { + MethodParameterInfo methodParameterInfo = target.asMethodParameter(); + if (methodParameterInfo.type().name().equals(type.name())) { + Set parameterAnnotations = getParameterAnnotations( + validationPhase.getBeanProcessor().getBeanDeployment(), + target.asMethodParameter().method(), methodParameterInfo.position()); + mapping = Annotations.find(parameterAnnotations, CONFIG_MAPPING_NAME); + } } }