У меня есть устаревшее приложение, которое начиналось как основной проект Java, позже было включено в него Spring и в конечном итоге было преобразовано в приложение Spring Boot. В настоящее время мы используем Spring Boot 3.2.12, и я сейчас обновляю его до 3.3.5. Однако после этого обновления мое приложение не запускается со следующим исключением:
Код: Выделить всё
Error creating bean with name 'logAspect' defined in class path resource
[com/generalnitin/springaop/config/AspectConfig.class]: Failed to instantiate
[com.generalnitin.springaop.aspects.LogAspect]: Factory method 'logAspect' threw
exception with message: Exception while initializing
com.generalnitin.springaop.aspects.LogAspect: java.lang.NoSuchMethodException:
com.generalnitin.springaop.aspects.LogAspect.aspectOf()
Выполнение простой команды mvn clean install приводит к сбою теста SpringBootTest по умолчанию с версией 3.3.5, тогда как с версией 3.2.12 он прекрасно работает.Я создал фиктивный проект, в котором могу воспроизвести эту проблему. Вы можете найти проект на GitHub здесь:
https://github.com/GeneralNitin/Spring-Aspect
В pom.xml, если вы прокомментируете и раскомментируете версии, как показано ниже, вы можете воспроизвести проблему:
Код: Выделить всё
org.springframework.boot
spring-boot-starter-parent
3.3.5
Удивительно то, что аспектaj.version один и тот же в Spring Boot 3.2.12 и 3.3.5:
Я не могу понять, в чем проблема. Будем очень признательны за любую помощь или подсказки по решению этой проблемы.
Подробнее здесь:
https://stackoverflow.com/questions/793 ... in-aspectj