我有一个带有@Controller
注释的Spring @RequestMapping
的应用程序。
使用Spring(核心和webmvc)4.1.0.RELEASE或更高版本启动应用程序服务器时出现异常。
java.lang.NoSuchMethodError: org.springframework.web.bind.annotation.RequestMapping.name()Ljava/lang/String;
at method RequestMappingHandlerMapping.createRequestMappingInfo(RequestMapping annotation, RequestCondition<?> customCondition)
使用Eclipse inspect调试方法变量
annotation
不包含name
属性,并且在操作annotation.name()
时失败。所有其他属性值都是正确的(它们在Controller方法中定义的值以@RequestMapping
注释)。我正在使用Tomcat 7和Maven 2.3。
mvn dependency:tree
不显示4.1.0.RELEASE以外的其他Spring版本。使用Spring 4.0.7.RELEASE或更低版本不会发生此错误。
有人有任何线索吗?
最佳答案
好像是类路径问题。正在加载旧版本的RequestMapping。
关于java - Spring MVC。加载上下文时无法识别RequestMapping批注名称属性,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/26405691/