0

こんにちは、Spring Security 2.0.4 から Spring Security 3.0.5.RELEASE に移行しようとすると問題が発生します。次のエラーが発生しました:

    SEVERE: Exception sending context initialized event to listener instance of class pl.casses.fw.client.info.app.OfficeContextLoader
org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from ServletContext resource [/WEB-INF/office-mgt-security.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.getLocalName(Lorg/w3c/dom/Node;)Ljava/lang/String;

私のsecurity.xmlファイルはここにあります:

<beans:beans xmlns="http://www.springframework.org/schema/security"
xmlns:beans="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-2.0.xsd
          http://www.springframework.org/schema/security http://www.springframework.org/schema/security/spring-security-3.0.xsd">
<http auto-config='true'>
    <intercept-url pattern="/**/*.ico" filters="none" />
    <intercept-url pattern="/**/*.gif" filters="none" />
    <intercept-url pattern="/**/*.jpg" filters="none" />
    <intercept-url pattern="/**/*.css" filters="none" />
    <intercept-url pattern="/**/*.js" filters="none" />
    <intercept-url pattern="/**/*.png" filters="none" />
    <intercept-url pattern="/logout.jsp*" filters="none" />
    <intercept-url pattern="/index.jsp*" filters="none" />
    <intercept-url pattern="/**" access="ROLE_USER,ROLE_ADMIN" />
    <form-login login-page="/index.jsp"
        authentication-failure-url="/index.jsp?login_error=1"
        default-target-url="/main.jsp" always-use-default-target="true" />
    <remember-me key="CassesOMRMKey" user-service-ref="userFactory"/>
</http>

<authentication-manager>
    <authentication-provider user-service-ref="userFactory">
        <password-encoder hash="md5" />
    </authentication-provider>
</authentication-manager> 

そして pom.xml には次のものがあります。

<dependency>
        <groupId>org.springframework</groupId>
        <artifactId>spring</artifactId>
        <version>2.5.4</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>3.0.5.RELEASE</version>
    </dependency>

私が間違っていることは何ですか?Security 3.0 に移行する方法。回答ありがとうございます。

4

1 に答える 1

0

解決策は2つのステップで出てきました:

  1. 両方の成果物に同じ Spring Release を使用します。
  2. maven の依存関係を更新し、pom.xml の除外を 3.0 未満のバージョンを使用してすべての Spring アーティファクトに追加します (指摘してくれた @caro2 に感謝します)。
于 2013-01-14T13:32:45.523 に答える