gpt4 book ai didi

java - Spring 的 AspectJ NoSuchMethodError

转载 作者:行者123 更新时间:2023-12-02 01:09:33 28 4
gpt4 key购买 nike

我有一个 Spring Web Rest 项目(3.0.4),与aspectJ(1.8.14)一起运行以进行日志记录。我在所有用 @Logging 注释的方法中定义了一个切入点。

当我调用带有 @Logging 注释的通用 helloWorld Controller 时。 AspectJ 工作正常。

当我调用带有@Logging注解的真实 Controller 时,它也恰好调用了同样带有@Logging注解的lib jar方法。不幸的是,在内部方法调用期间发生以下错误。怎么只有lib里面的方法才有这样的错误?

java.lang.NoSuchMethodError:
logging.aop.LoggingAspect.ajc$inlineAccessFieldGet$logging_aop_LoggingAspect$logging_aop_LoggingAspect$pLogger()Lorg/slf4j/Logger;
service.impl.DAOClass.getMethod_aroundBody1$advice(DAOClass.java:101)
service.impl.DAOClass.getMethod(DAOClass.java:1)

我尝试过的:我检查了jdk编译版本、maven依赖项中的jar版本、web.xml和aop.xml配置,并安装了用于eclipse photon调试的AJDT插件。我尝试在 weblogic 中部署以查看类加载器,但我无法,在 tomcat 中尝试我看不到加载或未加载的内容。

P.S:请不要因为缺少代码而降低问题的级别,我必须做一个完整的模拟以避免显示公司代码,现在我正在寻找使用 Spring 进行 AOP 工作并了解我正在使用什么的人基于此信息加上错误堆栈。如果没有人猜出原因是什么,我可以稍后制作一个模拟代码。

谢谢!

最佳答案

当运行时类路径包含库编译所针对的不同版本/两个版本的 jar 时,通常会发生 No SuchMethodError。您应该检查 pom 与运行时类路径的依赖关系。我敢打赌它已升级到不向后兼容的新版本。你如何打包你的应用程序,spring boot?

关于java - Spring 的 AspectJ NoSuchMethodError,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57698998/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com