java - 从另一个项目加载 AnnotationConfigApplicationContext[Eclipse]

标签 java spring applicationcontext

我有一个项目 A,它使用 AnnotationConfigApplicationContext 来定义应用程序上下文,例如:

 private static AnnotationConfigApplicationContext getApplicationContext() {
    if (applicationContext == null) {
        applicationContext = new AnnotationConfigApplicationContext(AdapterContext.class);
    }
    return applicationContext;
 }

此代码在项目 A 中运行良好。

现在,我将项目 A 添加到项目 B 的构建路径中(通过选择项目属性 -> java 构建路径 -> 项目选项卡)。现在,我在项目 B 中有一个测试用例,它使用该方法

getApplicationContext()

。当我运行这个测试用例时,我收到错误:

java.lang.NoSuchMethodError: org.springframework.core.GenericTypeResolver.resolveTypeArguments(Ljava/lang/Class;Ljava/lang/Class;)[Ljava/lang/Class;

我尝试调试我的代码,发现它工作正常,直到调用 getApplicationContext() 方法。

有谁知道我必须做什么才能完成这项工作?谢谢

最佳答案

NoSuchMethodError 几乎总是由于库版本冲突造成的。在这种情况下,我猜测这两个项目中有多个版本的 spring 库。您是如何构建项目的(即您使用 ant、maven、gradle 等)吗?

关于java - 从另一个项目加载 AnnotationConfigApplicationContext[Eclipse],我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16569426/

相关文章:

java - java中任何方法之外的system.out.println语句

java - 使用自定义基础存储库配置 Spring @DataJpaTest

java - 无法在 spring JPA 中使用 find By 前缀创建自定义方法

spring - 如何在使用 @RunWith 和 @ContextConfiguration 注释的 jUnit 测试中访问 Spring 上下文?

java - 异常加载一个非常简单的上下文

java - 如何读取大文本文件并在 Java 中使用它

java - 如何使用 Apache Camel 和 Jetty 创建 REST 微服务

java - Java排序测试-

spring - @Converter 注释的类在 spring-boot 项目中未自动检测到

java - 从 Jar 中加载上下文