解析 applicationContext.xml 会呈现“java.lang.NoSuchMethodError”。这可能是由依赖性问题引起的吗?

2023-11-22

我正在使用带注释的应用程序上下文调用测试方法(Junit)(@ContextConfiguration(locations={"classpath:applicationContext.xml"}))。测试失败并显示以下堆栈跟踪:

11:20:39.793 [main] ERROR o.s.test.context.TestContextManager - Caught exception while allowing TestExecutionListener [org.springframework.test.context.support.DependencyInjectionTestExecutionListener@28419cd] to prepare test instance [com.atrioom.TestDynamo@7fbdc7db]
java.lang.IllegalStateException: Failed to load ApplicationContext
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:91) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.DefaultTestContext.getApplicationContext(DefaultTestContext.java:74) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.injectDependencies(DependencyInjectionTestExecutionListener.java:116) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.DependencyInjectionTestExecutionListener.prepareTestInstance(DependencyInjectionTestExecutionListener.java:82) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.TestContextManager.prepareTestInstance(TestContextManager.java:212) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.createTest(SpringJUnit4ClassRunner.java:199) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner$1.runReflectiveCall(SpringJUnit4ClassRunner.java:251) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.junit.internal.runners.model.ReflectiveCallable.run(ReflectiveCallable.java:12) [junit-4.11.jar:na]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.methodBlock(SpringJUnit4ClassRunner.java:253) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:216) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.runChild(SpringJUnit4ClassRunner.java:82) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.junit.runners.ParentRunner$3.run(ParentRunner.java:238) [junit-4.11.jar:na]
    at org.junit.runners.ParentRunner$1.schedule(ParentRunner.java:63) [junit-4.11.jar:na]
    at org.junit.runners.ParentRunner.runChildren(ParentRunner.java:236) [junit-4.11.jar:na]
    at org.junit.runners.ParentRunner.access$000(ParentRunner.java:53) [junit-4.11.jar:na]
    at org.junit.runners.ParentRunner$2.evaluate(ParentRunner.java:229) [junit-4.11.jar:na]
    at org.springframework.test.context.junit4.statements.RunBeforeTestClassCallbacks.evaluate(RunBeforeTestClassCallbacks.java:60) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.junit4.statements.RunAfterTestClassCallbacks.evaluate(RunAfterTestClassCallbacks.java:67) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.junit.runners.ParentRunner.run(ParentRunner.java:309) [junit-4.11.jar:na]
    at org.springframework.test.context.junit4.SpringJUnit4ClassRunner.run(SpringJUnit4ClassRunner.java:162) [spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.eclipse.jdt.internal.junit4.runner.JUnit4TestReference.run(JUnit4TestReference.java:50) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.TestExecution.run(TestExecution.java:38) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:459) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.runTests(RemoteTestRunner.java:675) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.run(RemoteTestRunner.java:382) [.cp/:na]
    at org.eclipse.jdt.internal.junit.runner.RemoteTestRunner.main(RemoteTestRunner.java:192) [.cp/:na]
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [applicationContext.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment()Lorg/springframework/core/env/Environment;
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadBeanDefinitions(AbstractGenericContextLoader.java:253) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:122) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.AbstractGenericContextLoader.loadContext(AbstractGenericContextLoader.java:60) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.delegateLoading(AbstractDelegatingSmartContextLoader.java:108) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.support.AbstractDelegatingSmartContextLoader.loadContext(AbstractDelegatingSmartContextLoader.java:260) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContextInternal(DefaultCacheAwareContextLoaderDelegate.java:63) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.test.context.DefaultCacheAwareContextLoaderDelegate.loadContext(DefaultCacheAwareContextLoaderDelegate.java:83) ~[spring-test-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    ... 25 common frames omitted
Caused by: java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment()Lorg/springframework/core/env/Environment;
    at org.springframework.context.annotation.ComponentScanBeanDefinitionParser.parse(ComponentScanBeanDefinitionParser.java:81) ~[spring-context-4.1.1.RELEASE.jar:4.1.1.RELEASE]
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1424) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1414) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:187) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:141) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:110) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:508) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:391) ~[spring-beans-4.0.7.RELEASE.jar:4.0.7.RELEASE]
    ... 38 common frames omitted

我认为问题是缺少方法(org.springframework.beans.factory.xml.XmlReaderContext.getEnvironment())。我不知道如何正确阅读该行,右括号加上加法Lorg/springframework/core/env/Environment让我困惑。我在 applicationContext.xml 中尝试了不同的 bean 版本以及不同的 spring 版本。


这是我的应用程序上下文:

<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="
        http://www.springframework.org/schema/beans     
        http://www.springframework.org/schema/beans/spring-beans-4.1.xsd
        http://www.springframework.org/schema/context 
        http://www.springframework.org/schema/context/spring-context-4.1.xsd">

<context:component-scan base-package="com.atrioom" />

<context:annotation-config />


我刚刚在 Spring 4.1.1.RELEASE、Spring Security 3.2.5.RELEASE 和 OAuth2 2.0.3.RELEASE 中遇到了这个问题。 OAuth2 需要 getEnvironment 方法。

Spring Security 依赖项之一下载了 Spring Beans 4.0.3.RELEASE,它没有 getEnvironment。我通过显式定义 spring-beans 4.1.1.RELEASE 作为依赖项来修复。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

解析 applicationContext.xml 会呈现“java.lang.NoSuchMethodError”。这可能是由依赖性问题引起的吗? 的相关文章

随机推荐

  • 默认打印 XSLT 1.0 文本节点

    我看过XSL xsl 模板匹配 但那里没有提到触发我的问题的匹配模式 我有一个相当复杂的 XML 结构
  • 使用openGL截屏并保存为png

    我正在尝试截取全屏屏幕截图并将其另存为 png 格式 我找到了一个代码here并对其进行了一些修改 对于屏幕截图 我使用 openGL 和 Glut 并使用 c 的 gd 库以 png 格式保存 我得到的只是一张黑色的 png 我不明白为什
  • Google Chrome 扩展开发中的 ES6 模块(意外标记)

    是否可以在 Google Chrome 扩展开发中使用 ES6 模块 我收到 意外的令牌导出 或 意外的令牌导入 好吧 您可以在 Chrome 的兼容性表中看到 并非所有内容都可用 Chrome 擅长在每个版本中添加 ES6 功能 但目前不
  • datatrigger 绑定到 viewmodel 属性

    我正在尝试创建一个简单的样式数据触发器 该触发器从视图模型属性中提取其绑定值 如下所示
  • Android - 从密钥库导出单个密钥/别名

    我有一个密钥库 JKS 其中包含不同应用程序的许多密钥条目 别名 现在 一个应用程序将移至另一位开发人员 我想为他导出 提取单个密钥 别名 gt keytool exe list keystore Keystorefile Keystore
  • 在 Linq to SQL 中设置外键

    众所周知 如果实体已加载 则无法直接在 Linq to SQL 中设置外键 ID 但是 您可以通过外键查找实体 然后使用实体关系将实体设置为外部实体 为了简单起见 我在这里取出了枚举并使用整数值 即 如果我有一个已加载的约会实体和关联的 A
  • 对 pthread_create 的未定义引用

    我有这个代码 include
  • Android 中 raw 和 asset 文件夹的存储限制

    我想将一些视频 音频文件存储在我的应用程序的原始文件夹中 我不知道 raw 和 asset 文件夹的存储限制 谁能告诉我可以在原始文件夹和资产文件夹中存储多少数据 另外 如果我将大量数据存储在这些文件夹中 是否会影响执行速度或从市场下载的应
  • 非托管 DLL 无法在 ASP.NET 服务器上加载

    这个问题涉及一个 ASP NET 网站 最初是在 VS 2005 中开发的 现在是在 VS 2008 中开发的 该网站使用两个非托管外部 DLL 它们不是 NET 我没有编译它们的源代码 必须按原样使用它们 该网站在 Visual Stud
  • 我如何理解 fdump-class-hierarchy 输出

    我正在使用 fdump class hierarchy 编译器选项 但我不知道如何理解输出 大小 对齐 基本大小 和 基本对齐 是什么意思 它们是如何计算的 谢谢 当代码为 class A public private double m n
  • MOTODEV Studio 与 Android Google 插件 [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心以获得指导 有人有什么意见 经验 建议
  • 如何在不使用 ping 的情况下检查 Web 服务是否已启动并正在运行?

    我如何检查 Web 服务中的方法是否正常工作 我无法使用 ping 我仍然想检查客户端从 Web 服务调用的任何类型的方法 我知道这很难一概而论 但应该有某种方法 我使用这个方法并且效果很好 public bool IsAddressAva
  • 致命错误:numpy/arrayobject.h:没有这样的文件或目录

    我能分享的内容有限 因为这是我从 Ubuntu 14 04 移植到 16 04 的大量代码的一部分 这应该是微不足道的 但不知怎的 我正在为此苦苦挣扎 没找到numpy arrayobject h我在源文件中引用 include
  • UTF-8 是目前非 ASCII 字符 QR 码的首选编码吗?

    Google 使用 UTF 8 作为其非常流行的编码器的默认值 据我所知 他们甚至没有添加字节顺序标记 问题是大多数扫描仪似乎仍然使用 JIS8 QR 2000 而不是默认的 iso 8859 QR 2005 因此使用 iso 8859 进
  • 如何刷新我从 iOS 中的 google oauth 2.0 获得的令牌

    我正在制作一个 iOS 应用程序 它使用用户的 google 帐户从他的 YouTube 帐户获取数据并向他们显示 第一步是使用 gtm2 对用户进行身份验证并获取访问令牌和刷新令牌 问题是访问令牌在 60 分钟后过期 我必须再次登录并允许
  • 以编程方式多次更改操作栏颜色

    我在用 getSherlockActivity getSupportActionBar setBackgroundDrawable new ColorDrawable 0xff00ACED 要更改片段中操作栏的颜色 它可以工作 但是 如果我
  • 如何在sql server 2005中获取x和y之间的日期表

    我只是想要一种快速的方法 最好不使用 while 循环 创建日期 x 和日期 y 之间的每个日期的表 这样我就可以将外部连接保留到一些统计表 其中一些统计表没有某些记录之间的天数 允许我用 0 标记缺失的天数 严格来说 这并不能完全回答你的
  • C++ 缓冲流 IO

    据我了解 默认情况下 C 支持的所有流 IO 都会被缓冲 这意味着要输出的数据被放入缓冲区 直到缓冲区满 然后发送到输出设备 类似地 对于输入 一旦缓冲区为空 就会读取数据 所有这些都完成了 这样就减少了昂贵的系统数量可以尽量减少通话次数
  • C# 中 Task.FromResult 有什么用

    在 C 和 TPL 中 任务并行库 the Task类代表一项正在进行的工作 它产生 T 类型的值 我想知道需要什么任务 FromResult方法 也就是说 在您手头已经有了生产值的情况下 需要将其包装回任务中吗 唯一想到的是它被用作接受任
  • 解析 applicationContext.xml 会呈现“java.lang.NoSuchMethodError”。这可能是由依赖性问题引起的吗?

    我正在使用带注释的应用程序上下文调用测试方法 Junit ContextConfiguration locations classpath applicationContext xml 测试失败并显示以下堆栈跟踪 11 20 39 793