• 问题 : lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils,的解决方法


      今天在做junit 测试的时候  出现了一个问题,花了一段时间 才解决。

    java.lang.NoClassDefFoundError: org/springframework/core/annotation/AnnotatedElementUtils
    at org.springframework.test.util.MetaAnnotationUtils$AnnotationDescriptor.<init>(MetaAnnotationUtils.java:289)
    at org.springframework.test.util.MetaAnnotationUtils$UntypedAnnotationDescriptor.<init>(MetaAnnotationUtils.java:349)
    at org.springframework.test.util.MetaAnnotationUtils$UntypedAnnotationDescriptor.<init>(MetaAnnotationUtils.java:344)
    at org.springframework.test.util.MetaAnnotationUtils.findAnnotationDescriptorForTypes(MetaAnnotationUtils.java:191)
    at org.springframework.test.util.MetaAnnotationUtils.findAnnotationDescriptorForTypes(MetaAnnotationUtils.java:166)
    at org.springframework.test.context.support.AbstractTestContextBootstrapper.buildMergedContextConfiguration(AbstractTestContextBootstrapper.java:271)
    at org.springframework.test.context.DefaultTestContext.<init>(DefaultTestContext.java:67)
    at org.springframework.test.context.TestContextManager.<init>(TestContextManager.java:103)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTestContextManager(SpringJUnit4ClassRunner.java:124)
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.<init>(SpringJUnit4ClassRunner.java:115)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
    at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
    at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
    at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
    at org.junit.internal.builders.AnnotatedBuilder.buildRunner(AnnotatedBuilder.java:31)
    at org.junit.internal.builders.AnnotatedBuilder.runnerForClass(AnnotatedBuilder.java:24)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:29)
    at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:57)
    at org.junit.internal.requests.ClassRequest.getRunner(ClassRequest.java:24)
    at org.junit.internal.requests.FilterRequest.getRunner(FilterRequest.java:33)
    at com.intellij.rt.execution.junit.JUnitStarter.main(JUnitStarter.java:67)
    Caused by: java.lang.ClassNotFoundException: org.springframework.core.annotation.AnnotatedElementUtils
    at java.net.URLClassLoader$1.run(URLClassLoader.java:366)
    at java.net.URLClassLoader$1.run(URLClassLoader.java:355)
    at java.security.AccessController.doPrivileged(Native Method)
    at java.net.URLClassLoader.findClass(URLClassLoader.java:354)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:425)
    at sun.misc.Launcher$AppClassLoader.loadClass(Launcher.java:308)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:358)
    ... 24 more

     这个问题是  因为找不到 springframework 的 一个类  AnnotatedElementUtils, 这个类 是因为 没有引入的pom  中,所以在编译的时候找不到,方法很简单,只需要在pom 文件中引入就可以了

    <properties>
    <spring.version>4.1.1.RELEASE</spring.version>
    </properties>


    <dependency>
    <groupId>org.springframework</groupId>
    <artifactId>spring-core</artifactId>
    <version>${spring.version}</version>
    </dependency>

    这个依赖添加进去之后就解决问题了。


    还有,在项目的lib 目录里面的 jar 包, 在试用mvn install的时候会报错 ,需要把这个jar 包传到 maven的 资源库,然后 在pom 中 添加依赖,这样才可以成功编译



  • 相关阅读:
    CF500F New Year Shopping [线段树分治,背包]
    P5344 【XR-1】逛森林[倍增优化建图,zkw线段树优化spfa]
    CF452F Permutation [哈希,树状数组]
    [NOI Online #2 提高组]子序列问题
    牛客挑战赛39题解
    #6036. 「雅礼集训 2017 Day4」编码 [前缀优化2sat]
    CF1156E Special Segments of Permutation [分治,set]
    #6198. 谢特 [后缀自动机,01trie合并,启发式合并]
    P4246 [SHOI2008]堵塞的交通 [动态图连通性]
    CF1096G Lucky Tickets [NTT,多项式快速幂]
  • 原文地址:https://www.cnblogs.com/murong/p/6428277.html
Copyright © 2020-2023  润新知