我正在将使用Spring security 3.0的应用程序迁移到Spring security 3.1。
我收到有关引用错误架构的错误:
SEVERE: Exception sending context initialized event to listener instance of class
org.springframework.web.context.ContextLoaderListener
org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration
problem: You must use a 3.0 schema with Spring Security 3.0.(2.0 or 3.1 versions are not
valid) Please update your schema declarations to the 3.0.3 schema (spring-security-
3.0.3.xsd).
Offending resource: ServletContext resource [/WEB-INF/security-context.xml]
当我查看/ lib时,我看到许多3.1版本的jar都被复制为3.0版本。我怀疑这是造成上述错误的原因。
当我使用Eclipse Maven插件查看pom.xml的依赖关系树时,我可以看到引用早期版本的位置(例如spring-security-acl取决于几个3.0罐),但它们被标记为'省略与......的冲突。这不意味着它们应该从构建的war文件中省略吗?
我已经尝试在我的pom的根目录中明确命名这些文件的3.1版本,但旧版本仍然包含在内。
答案 0 :(得分:1)
攻击资源:ServletContext资源 [/WEB-INF/security-context.xml]
实际上,该消息表明security-context.xml
使用与spring-security-3.1不兼容的架构/声明。该消息要求您使用3.0版本的库。您可能需要查看并更新它并重试。
答案 1 :(得分:0)
我仍然不确定发生了什么,但我尝试在Eclipse中使用相同的pom和源文件创建一个新项目,现在该项目似乎表现得很好。