QualifierAnnotationAutowireCandidateResolver.checkQualifiers() currently checks if Java annotations are qualifier annotations, and it also checks if Java meta-annotations (for example, annotations in the java.lang.annotation package such as @Retention) are qualifier annotations.

Since such annotations can never be candidates for qualifier annotations, we should preemptively skip processing of Java annotations in QualifierAnnotationAutowireCandidateResolver.

For example, we could make use of something similar to AnnotationsScanner.hasPlainJavaAnnotationsOnly(...) to determine if processing is necessary, or we could just exclude any annotation whose package name starts with java. or javax..