【问题标题】:Tomcat complaining about spring-security-3.1.xsd not matching Spring Security 3.2, but not referencing 3.1 anywhereTomcat 抱怨 spring-security-3.1.xsd 与 Spring Security 3.2 不匹配,但在任何地方都没有引用 3.1
【发布时间】:2015-07-25 04:38:42
【问题描述】:

错误信息:

严重:向 org.springframework.web.context.ContextLoaderListener 类的侦听器实例发送上下文初始化事件的异常 org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:无法从相对位置导入bean定义[security-config.xml]

违规资源:ServletContext资源[/WEB-INF/spring/app-config.xml];嵌套异常是 org.springframework.beans.factory.parsing.BeanDefinitionParsingException:配置问题:您不能在 Spring Security 3.2 中使用 spring-security-2.0.xsd 或 spring-security-3.0.xsd 或 spring-security-3.1.xsd 模式.请将您的架构声明更新为 3.2 架构。

违规资源:ServletContext资源[/WEB-INF/spring/security-config.xml]

我的“security-config.xml”文件:

<beans xmlns:s="http://www.springframework.org/schema/security"
       xmlns="http://www.springframework.org/schema/beans"
       xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
       xsi:schemaLocation="http://www.springframework.org/schema/beans
                    http://www.springframework.org/schema/beans/spring-beans-4.0.xsd
                    http://www.springframework.org/schema/security
                    http://www.springframework.org/schema/security/spring-security-3.2.xsd">

我的 pom.xml:

    <properties>
        <spring.version>4.1.4.RELEASE</spring.version>
        <spring.security.version>3.2.5.RELEASE</spring.security.version>
        <spring.ldap.version>2.0.2.RELEASE</spring.ldap.version>
        <spring.data.oracle.version>1.1.0.RELEASE</spring.data.oracle.version>

...

    </properties>

    <dependencies>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>${spring.security.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.ldap</groupId>
            <artifactId>spring-ldap-core</artifactId>
            <version>${spring.ldap.version}</version>
        </dependency>

        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-ldap</artifactId>
            <version>${spring.security.version}</version>
        </dependency>
...
    </dependencies>

为什么我会收到此错误消息?还可能涉及哪些其他文件?

【问题讨论】:

  • 试试spring-beans-4.1.xsd
  • 那行得通。想让它成为“答案”,以便我可以将其标记为已回答并给予您信任? :-) 谢谢!
  • 我已经为此创建了问题jira.spring.io/browse/SEC-3010

标签: java maven spring-mvc spring-security xsd


【解决方案1】:

由于您使用的是 spring 4.1.4.RELEASE,因此请为该版本使用适当的架构,即 spring-beans-4.1.xsd

并确保它不是服务器端的一些缓存问题。清理服务器和项目,构建项目并进行部署。

【讨论】:

    猜你喜欢
    • 2012-10-01
    • 2012-04-18
    • 1970-01-01
    • 1970-01-01
    • 2012-03-06
    • 2014-05-05
    • 2012-12-04
    • 2012-03-04
    • 1970-01-01
    相关资源
    最近更新 更多