From 49d249bdf4414ba132dfa93af2daa43410425950 Mon Sep 17 00:00:00 2001 From: Stephane Nicoll Date: Fri, 28 Jul 2017 10:43:08 +0200 Subject: [PATCH] Disable Aop auto-config if aspectjweaver is not present This commit adds an additional class check to AopAutoConfiguration as it is main role is to configure `@EnableAspectJAutoProxy` which won't work properly if `aspectjweaver` is not present. Closes gh-9880 --- .../boot/autoconfigure/aop/AopAutoConfiguration.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java index d2615e781bc..7f836076288 100644 --- a/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java +++ b/spring-boot-autoconfigure/src/main/java/org/springframework/boot/autoconfigure/aop/AopAutoConfiguration.java @@ -18,6 +18,7 @@ package org.springframework.boot.autoconfigure.aop; import org.aspectj.lang.annotation.Aspect; import org.aspectj.lang.reflect.Advice; +import org.aspectj.weaver.AnnotatedElement; import org.springframework.boot.autoconfigure.condition.ConditionalOnClass; import org.springframework.boot.autoconfigure.condition.ConditionalOnProperty; @@ -39,7 +40,7 @@ import org.springframework.context.annotation.EnableAspectJAutoProxy; * @see EnableAspectJAutoProxy */ @Configuration -@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class }) +@ConditionalOnClass({ EnableAspectJAutoProxy.class, Aspect.class, Advice.class, AnnotatedElement.class }) @ConditionalOnProperty(prefix = "spring.aop", name = "auto", havingValue = "true", matchIfMissing = true) public class AopAutoConfiguration {