diff --git a/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java b/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java index 6fb0390036..289921ee7c 100644 --- a/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java +++ b/buildSrc/src/main/java/org/springframework/boot/build/architecture/ArchitectureRules.java @@ -136,8 +136,11 @@ final class ArchitectureRules { private static DescribedPredicate notAnnotatedWithRoleInfrastructure() { return is("not annotated with @Role(BeanDefinition.ROLE_INFRASTRUCTURE", (candidate) -> { + if (!candidate.isAnnotatedWith(Role.class)) { + return true; + } Role role = candidate.getAnnotationOfType(Role.class); - return (role == null) || (role.value() != BeanDefinition.ROLE_INFRASTRUCTURE); + return role.value() != BeanDefinition.ROLE_INFRASTRUCTURE; }); }