更改 spring 安全版本的抛出错误

Posted

技术标签:

【中文标题】更改 spring 安全版本的抛出错误【英文标题】:changing spring security version s throwing error 【发布时间】:2014-09-18 02:22:05 【问题描述】:

我将我的 spring 安全版本从 3.2.3.RELEASE 更改为 3.2.4.RELEASE,我现在遇到了以下异常

Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [META-INF/spring/application-security.xml]; nested exception is java.lang.NoClassDefFoundError: org/w3c/dom/ElementTraversal
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:413)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:335)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:303)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsFromImportedResources(ConfigurationClassBeanDefinitionReader.java:313)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitionsForConfigurationClass(ConfigurationClassBeanDefinitionReader.java:138)
    at org.springframework.context.annotation.ConfigurationClassBeanDefinitionReader.loadBeanDefinitions(ConfigurationClassBeanDefinitionReader.java:116)

任何想法..可能是什么问题?

【问题讨论】:

我假设您正在使用像 Maven 这样的依赖机制。如果是这样,请发布您的类似 pom.xml 的文件。 【参考方案1】:

异常中的类在xml-apis JAR中可用,我怀疑更改spring-security的版本会导致JAR解析冲突(在maven中,我假设使用了maven)。检查 maven 依赖层次结构,看看是否包含这个 JAR

【讨论】:

【参考方案2】:

查看服务器上的类路径。请务必将包含此类的 jar 添加到类路径中。例如,您缺少的类可以在 xml-apis 库中找到。

【讨论】:

以上是关于更改 spring 安全版本的抛出错误的主要内容,如果未能解决你的问题,请参考以下文章

Java中异常的抛出方式

Swift 2:从类型的抛出函数到非抛出函数的无效转换

PHP 的异常处理错误的抛出及错误回调函数 (转)

迁移到 Swift 2 的错误:从类型的抛出函数到非抛出函数类型的无效转换以及使用未声明的类型

异常的抛出和捕获

C++ 异常处理