有人会有想法为什么会这样吗?该错误仅在首次访问时发生。在那之后,一切都很好。
在Tomcat下的Spring AOP中,建议单个类中的方法可以正常工作:
@Around("execution(* com.test.TestController.*(..))")
或
@Around("execution(* com.test.UserController.*(..))")
如果我单独使用它们,它们都可以工作。如果我同时使用两者:
@Around("execution(* com.test.TestController.*(..)) || execution(* com.test.UserController.*(..))")
它爆炸了:
java.lang.LinkageError: loader (instance of tomcat/servletcontainer/PlugInOverrideClassLoader): attempted duplicate class definition for name: "com/test//UserController$$EnhancerByCGLIB$$4936077f"
似乎我可以建议一个班级,但不能超过一个班级。向包中的所有类提供建议具有相同的效果。