Java 带弹簧测试的弹簧震击器版本
我正在为一个Spring应用程序编写一些JUnit,它使用的Spring版本是Java 带弹簧测试的弹簧震击器版本,java,spring,maven,junit,spring-test,Java,Spring,Maven,Junit,Spring Test,我正在为一个Spring应用程序编写一些JUnit,它使用的Spring版本是 <spring.version>3.2.8.RELEASE</spring.version> 当我尝试执行测试用例时,它无法初始化,即它甚至没有进入@Before方法并抛出以下异常: java.lang.NoClassDefFoundError: org/springframework/core/type/AnnotatedTypeMetadata at org.spring
<spring.version>3.2.8.RELEASE</spring.version>
当我尝试执行测试用例时,它无法初始化,即它甚至没有进入@Before
方法并抛出以下异常:
java.lang.NoClassDefFoundError: org/springframework/core/type/AnnotatedTypeMetadata
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:118)
我相信AnnotatedTypeMetadata只有在SpringRelease4.10.0之后才可用,但既然我在应用程序中的任何地方都没有使用它,而且我的SpringTest和SpringCore的版本都是相同的,为什么还要提到它呢
有什么想法吗?显然,您的类路径上有各种Spring jar的不兼容版本 要确定类路径中存在哪些不兼容的版本(即除
3.2.8.RELEASE
之外),请在项目文件夹中执行mvn dependency:tree
然后确保避免类路径上存在不兼容的版本——例如,通过向Maven POM中添加任何依赖项的排除,这些依赖项将不需要的版本作为可传递依赖项引入
@RunWith(SpringJUnit4ClassRunner.class)
@ContextConfiguration(locations="classpath:config/test-application-context-datasource.xml")
java.lang.NoClassDefFoundError: org/springframework/core/type/AnnotatedTypeMetadata
at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:118)