java.lang.NoSuchMethodError: org.springframework.web.method.support.HandlerMethodArgumentResolverComposite

Aru*_*mar 1 spring maven-2 spring-mvc spring-security

我正在构建一个 Spring Restful 项目,其中我应用了摘要身份验证的 Spring Security,我已将 Spring 依赖项的版本从 3.0.4 升级到 3.1,因此我遇到以下错误: java.lang.NoSuchMethodError:org.springframework.web .method.support.HandlerMethodArgumentResolverComposite.addResolvers(Ljava/util/List;)Lorg/springframework/web/method/supportHandlerMethodArgumentResolverComposite;

我必须将 spring 的新版本升级到 3.1 才能使用其安全前景。请帮我解决这个问题。

下面是我的 spring 框架的 pom.xml 中的依赖项:

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

        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>servlet-api</artifactId>
            <version>2.5</version>
        </dependency>

        <dependency>
            <groupId>taglibs</groupId>
            <artifactId>standard</artifactId>
            <version>1.1.2</version>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-web</artifactId>
            <version>${spring.version}</version>
            <type>pom</type>
            <scope>compile</scope>
        </dependency>

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
            <version>${spring.version}</version>
            <type>pom</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
            <version>${spring.version}</version>
            <type>pom</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
            <version>${spring.version}</version>
            <type>pom</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>javax.servlet</groupId>
            <artifactId>jstl</artifactId>
            <version>1.2</version>
            <type>pom</type>
            <scope>compile</scope>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-acl</artifactId>
            <version>${spring-security.version}</version>
        </dependency>

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


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

            <scope>compile</scope>
        </dependency>
        <!-- Spring Dependencies End -->

<!-- Springs security dependency start -->
Run Code Online (Sandbox Code Playgroud)

spring安全依赖启动

            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-config</artifactId>
            <version>3.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-web</artifactId>
            <version>3.0.3.RELEASE</version>
        </dependency>
        <dependency>
            <groupId>org.springframework.security</groupId>
            <artifactId>spring-security-core</artifactId>
            <version>3.0.3.RELEASE</version>
        </dependency>
        <!-- Springs security dependency end -->
Run Code Online (Sandbox Code Playgroud)

Ara*_*d A 5

我怀疑旧的和最新的库都在您的 classpath 中。检查 .classpath 文件并执行 mvn clean eclipse:eclipse ,清理项目,刷新并测试。