代码之家  ›  专栏  ›  技术社区  ›  Kingamere

java.lang.NoSuchMethodError:org.springframework.core.annotation.AnnotationUtils.clearCache()V

  •  1
  • Kingamere  · 技术社区  · 6 年前

    java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.clearCache()V
    

    以及堆栈跟踪的一部分:

    Caused By: java.lang.NoSuchMethodError: org.springframework.core.annotation.AnnotationUtils.clearCache()V
            at org.springframework.context.support.AbstractApplicationContext.resetCommonCaches(AbstractApplicationContext.j
    ava:915)
            at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:575)
            at org.springframework.web.context.ContextLoader.configureAndRefreshWebApplicationContext(ContextLoader.java:409
    )
            at org.springframework.web.context.ContextLoader.initWebApplicationContext(ContextLoader.java:291)
            at org.springframework.web.context.ContextLoaderListener.contextInitialized(ContextLoaderListener.java:103)
    

    以下是pom.xml中的Spring依赖项:

            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-core</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-web</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.security</groupId>
                <artifactId>spring-security-config</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-web</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-webmvc</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-core</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-orm</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework.data</groupId>
                <artifactId>spring-data-jpa</artifactId>
                <version>2.0.2.RELEASE</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-context-support</artifactId>
                <version>${springframework.version}</version>
            </dependency>
            <dependency>
                <groupId>org.springframework</groupId>
                <artifactId>spring-aspects</artifactId>
                <version>${springframework.version}</version>
            </dependency>
    

    ${springframework.version} :

    <properties>
        <springframework.version>5.0.4.RELEASE</springframework.version>
    </properties>
    

    重要的一点是,当我添加任何 org.springframework.security

    mvn dependency:tree :

    +- ora.common.logging:common-logging:jar:1.2.0:system
    +- ognl:ognl:jar:3.2.6:compile
    |  \- org.javassist:javassist:jar:3.20.0-GA:compile
    +- org.apache.hivemind:hivemind-framework:jar:2.0-alpha-1:compile
    |  +- commons-logging:commons-logging:jar:1.0.3:compile
    |  \- jboss:javassist:jar:3.4.ga:compile
    +- xml-apis:xml-apis:jar:1.0.b2:provided
    +- org.hibernate:hibernate-core:jar:5.2.16.Final:compile
    |  +- org.jboss.logging:jboss-logging:jar:3.3.1.Final:compile
    |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
    |  +- antlr:antlr:jar:2.7.7:compile
    |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.1.Final:compile
    |  +- org.jboss:jandex:jar:2.0.3.Final:compile
    |  +- com.fasterxml:classmate:jar:1.3.0:compile
    |  +- dom4j:dom4j:jar:1.6.1:compile
    |  \- org.hibernate.common:hibernate-commons-annotations:jar:5.0.1.Final:compile
    +- org.springframework.security:spring-security-core:jar:5.0.4.RELEASE:compile
    |  +- org.springframework:spring-aop:jar:5.0.5.RELEASE:compile
    |  +- org.springframework:spring-beans:jar:5.0.5.RELEASE:compile
    |  +- org.springframework:spring-context:jar:5.0.5.RELEASE:compile
    |  \- org.springframework:spring-expression:jar:5.0.5.RELEASE:compile
    +- org.springframework.security:spring-security-web:jar:5.0.4.RELEASE:compile
    +- org.springframework.security:spring-security-config:jar:5.0.4.RELEASE:compile
    +- org.springframework:spring-web:jar:5.0.4.RELEASE:compile
    +- org.springframework:spring-webmvc:jar:5.0.4.RELEASE:compile
    +- org.springframework:spring-core:jar:5.0.4.RELEASE:compile
    |  \- org.springframework:spring-jcl:jar:5.0.4.RELEASE:compile
    +- org.springframework:spring-orm:jar:5.0.4.RELEASE:compile
    |  +- org.springframework:spring-jdbc:jar:5.0.4.RELEASE:compile
    |  \- org.springframework:spring-tx:jar:5.0.4.RELEASE:compile
    +- org.springframework.data:spring-data-jpa:jar:2.0.2.RELEASE:compile
    |  \- org.springframework.data:spring-data-commons:jar:2.0.2.RELEASE:compile
    +- org.springframework:spring-context-support:jar:5.0.4.RELEASE:compile
    +- org.springframework:spring-aspects:jar:5.0.4.RELEASE:compile
    +- com.fasterxml.jackson.core:jackson-annotations:jar:2.9.0:compile
    +- com.fasterxml.jackson.core:jackson-databind:jar:2.9.0:compile
    +- com.fasterxml.jackson.core:jackson-core:jar:2.9.0:compile
    +- org.eclipse.persistence:org.eclipse.persistence.jpa:jar:2.6.4:compile
    |  +- org.eclipse.persistence:javax.persistence:jar:2.1.1:compile
    |  +- org.eclipse.persistence:org.eclipse.persistence.asm:jar:2.6.4:compile
    |  +- org.eclipse.persistence:org.eclipse.persistence.antlr:jar:2.6.4:compile
    |  +- org.glassfish:javax.json:jar:1.0.4:compile
    |  +- org.eclipse.persistence:org.eclipse.persistence.jpa.jpql:jar:2.6.4:compile
    |  \- org.eclipse.persistence:org.eclipse.persistence.core:jar:2.6.4:compile
    +- commons-lang:commons-lang:jar:2.6:compile
    +- org.apache.commons:commons-lang3:jar:3.7:compile
    +- org.apache.commons:commons-collections4:jar:4.1:compile
    +- junit:junit:jar:4.12:test
    |  \- org.hamcrest:hamcrest-core:jar:1.3:test
    +- org.hsqldb:hsqldb:jar:2.3.4:test
    +- javax.servlet:javax.servlet-api:jar:3.0.1:provided
    +- javax.servlet.jsp:jsp-api:jar:2.1:provided
    +- org.slf4j:slf4j-api:jar:1.7.10:compile
    +- ch.qos.logback:logback-classic:jar:1.1.2:compile
    |  \- ch.qos.logback:logback-core:jar:1.1.2:compile
    +- org.mapstruct:mapstruct-jdk8:jar:1.2.0.Final:compile
    +- org.jvnet.jaxb2_commons:jaxb2-basics:jar:1.11.1:compile
    |  +- org.jvnet.jaxb2_commons:jaxb2-basics-runtime:jar:1.11.1:compile
    |  +- org.jvnet.jaxb2_commons:jaxb2-basics-tools:jar:1.11.1:compile
    |  |  +- commons-beanutils:commons-beanutils:jar:1.9.2:compile
    |  |  |  \- commons-collections:commons-collections:jar:3.2.1:compile
    |  |  \- org.slf4j:jcl-over-slf4j:jar:1.7.7:compile
    |  \- com.google.code.javaparser:javaparser:jar:1.0.11:compile
    +- org.aspectj:aspectjrt:jar:1.8.13:compile
    +- org.aspectj:aspectjweaver:jar:1.8.13:compile
    \- net.sf.ehcache:ehcache:jar:2.10.4:compile
    
    1 回复  |  直到 6 年前
        1
  •  0
  •   Kingamere    6 年前

    我通过将spring安全依赖项的版本更改为:

    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-core</artifactId>
        <version>5.0.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-web</artifactId>
        <version>5.0.1.RELEASE</version>
    </dependency>
    <dependency>
        <groupId>org.springframework.security</groupId>
        <artifactId>spring-security-config</artifactId>
        <version>5.0.1.RELEASE</version>
    </dependency>
    
        2
  •  0
  •   Krzysztof Janowski    3 年前

            <spring.version>5.0.8.RELEASE</spring.version>
            <spring-security.version>5.0.7.RELEASE</spring-security.version>