【问题标题】:java.lang.VerifyError: org/springframework/beans/factory/xml/XmlBeanDefinitionReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)Vjava.lang.VerifyError: org/springframework/beans/factory/xml/XmlBeanDefinitionReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V
【发布时间】:2013-02-24 14:11:13
【问题描述】:

我正在尝试将 spring saml 扩展与我们的 JSF 2.0 Web 应用程序集成。我收到这个奇怪的错误。

我能够部署示例应用程序 https://github.com/SpringSource/spring-security-saml 这是 Spring mvc 应用程序“java.lang.VerifyError”

现在我正在尝试将更改插入到我的 JSF 应用程序中,我只能在应用程序启动期间看到。

 java.lang.VerifyError: org/springframework/beans/factory/xml/XmlBeanDefinitionReader.setEntityResolver(Lorg/xml/sax/EntityResolver;)V
at org.springframework.web.context.support.XmlWebApplicationContext.loadBeanDefinitions(XmlWebApplicationContext.java:88)
at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:130)
at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:467)
at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:397)
at org.springframework.web.context.ContextLoader.createWebApplicationContext(ContextLoader.java:282)
at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:204)
at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:47)
at com.ibm.ws.webcontainer.webapp.WebApp.notifyServletContextCreated(WebApp.java:1667)

【问题讨论】:

    标签: spring spring-security spring-saml


    【解决方案1】:

    java.lang.VerifyError 可能是针对与运行时使用的库不同的库进行编译时的结果。

    通常编译器会标记方法签名不匹配的问题。 JVM 将在加载类时再次验证字节码,并在字节码尝试执行不应允许的操作时抛出 VerifyError - 例如。调用返回 String 的方法,然后将该返回值存储在包含 List 的字段中。

    【讨论】:

    • 特拉维斯,谢谢。这似乎与之前回答的问题相似。 stackoverflow.com/questions/100107/…
    • 我在 websphere 上部署应用程序,因为它是一个 JSF2 应用程序,所以我最后设置了父级(否则将加载来自 websphere 的默认 JSF jar)。在我的 WEB-INF/ Lib 中,我有 'xalan-2.7.1.jar' 'xercesImpl-2.10.0.jar' 'xml-apis-2.10.0.jar' 因为它是最后的父级,所以这些 jars 被选中哪个 websphere不喜欢,因为它有自己的实现。我删除了我的战争库中的上述罐子,现在“java.lang.verifyError”消失了。但很难确定需要移除哪些罐子。
    猜你喜欢
    • 2019-12-21
    • 2013-04-02
    • 2021-05-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-06-17
    • 2019-01-07
    相关资源
    最近更新 更多