java.lang.NoSuchMethodError:
org.springframework.beans.factory.annotation.InjectionMetadata.needsRefresh
(Lorg/springframework/beans/factory/annotation/InjectionMetadata;Ljava/lang/Class;)Z
Spring 核心包與 Hibernate / Spring-ORM 版本不匹配。常見情況:
spring-context 5.x 但 spring-orm 4.x(或相反)。InjectionMetadata 簽名變更。spring-beans 有兩個版本)。<dependencyManagement> 鎖定版本,例如全部用 5.3.30。mvn dependency:tree | grep spring
排除衝突的傳遞依賴。
<properties>
<spring.version>5.3.30</spring.version>
<hibernate.version>5.6.15.Final</hibernate.version>
</properties>
清理專案 mvn clean,重新編譯部署,啟動觀察不再拋出 NoSuchMethodError。