Java NoSuchMethodError:RegisterAutoProxyCreator是Spring4、Hibernate4和Maven 3所必需的

Java NoSuchMethodError:RegisterAutoProxyCreator是Spring4、Hibernate4和Maven 3所必需的,java,spring,hibernate,maven,Java,Spring,Hibernate,Maven,我试图配置Hibernate和Spring,但无法解决此错误:java.lang.NoSuchMethodError:org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary 我尝试了一些解决办法,但没有成功。我需要你的帮助 我遵循了本教程: 以下是一些信息: Stacktrace Nov 23, 2014 6:16:55 PM org.springframework.context.

我试图配置Hibernate和Spring,但无法解决此错误:
java.lang.NoSuchMethodError:org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary

我尝试了一些解决办法,但没有成功。我需要你的帮助

我遵循了本教程:

以下是一些信息:

Stacktrace

Nov 23, 2014 6:16:55 PM org.springframework.context.support.ClassPathXmlApplicationContext prepareRefresh
INFO: Refreshing org.springframework.context.support.ClassPathXmlApplicationContext@13f17c9e: startup date [Sun Nov 23 18:16:55 EST 2014]; root of context hierarchy
Nov 23, 2014 6:16:55 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [spring-config.xml]
Nov 23, 2014 6:16:56 PM org.springframework.beans.factory.xml.XmlBeanDefinitionReader loadBeanDefinitions
INFO: Loading XML bean definitions from class path resource [hibernate-config.xml]
Exception in thread "main" org.springframework.beans.factory.parsing.BeanDefinitionParsingException: Configuration problem: Failed to import bean definitions from URL location [classpath:hibernate-config.xml]
Offending resource: class path resource [spring-config.xml]; nested exception is org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [hibernate-config.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(Lorg/springframework/beans/factory/xml/ParserContext;Ljava/lang/Object;)V
    at org.springframework.beans.factory.parsing.FailFastProblemReporter.error(FailFastProblemReporter.java:70)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:85)
    at org.springframework.beans.factory.parsing.ReaderContext.error(ReaderContext.java:76)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:235)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseDefaultElement(DefaultBeanDefinitionDocumentReader.java:186)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:171)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:187)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:251)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:127)
    at org.springframework.context.support.AbstractXmlApplicationContext.loadBeanDefinitions(AbstractXmlApplicationContext.java:93)
    at org.springframework.context.support.AbstractRefreshableApplicationContext.refreshBeanFactory(AbstractRefreshableApplicationContext.java:129)
    at org.springframework.context.support.AbstractApplicationContext.obtainFreshBeanFactory(AbstractApplicationContext.java:537)
    at org.springframework.context.support.AbstractApplicationContext.refresh(AbstractApplicationContext.java:452)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:139)
    at org.springframework.context.support.ClassPathXmlApplicationContext.<init>(ClassPathXmlApplicationContext.java:83)
    at ca.etsmtl.log720.lab3.AppMain.main(AppMain.java:13)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:606)
    at com.intellij.rt.execution.application.AppMain.main(AppMain.java:134)
Caused by: org.springframework.beans.factory.BeanDefinitionStoreException: Unexpected exception parsing XML document from class path resource [hibernate-config.xml]; nested exception is java.lang.NoSuchMethodError: org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(Lorg/springframework/beans/factory/xml/ParserContext;Ljava/lang/Object;)V
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:414)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:336)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.loadBeanDefinitions(XmlBeanDefinitionReader.java:304)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:180)
    at org.springframework.beans.factory.support.AbstractBeanDefinitionReader.loadBeanDefinitions(AbstractBeanDefinitionReader.java:216)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.importBeanDefinitionResource(DefaultBeanDefinitionDocumentReader.java:229)
    ... 25 more
Caused by: java.lang.NoSuchMethodError: org.springframework.aop.config.AopNamespaceUtils.registerAutoProxyCreatorIfNecessary(Lorg/springframework/beans/factory/xml/ParserContext;Ljava/lang/Object;)V
    at org.springframework.transaction.config.AnnotationDrivenBeanDefinitionParser.parseInternal(AnnotationDrivenBeanDefinitionParser.java:54)
    at org.springframework.beans.factory.xml.AbstractBeanDefinitionParser.parse(AbstractBeanDefinitionParser.java:60)
    at org.springframework.beans.factory.xml.NamespaceHandlerSupport.parse(NamespaceHandlerSupport.java:74)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1427)
    at org.springframework.beans.factory.xml.BeanDefinitionParserDelegate.parseCustomElement(BeanDefinitionParserDelegate.java:1417)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.parseBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:174)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.doRegisterBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:144)
    at org.springframework.beans.factory.xml.DefaultBeanDefinitionDocumentReader.registerBeanDefinitions(DefaultBeanDefinitionDocumentReader.java:100)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.registerBeanDefinitions(XmlBeanDefinitionReader.java:510)
    at org.springframework.beans.factory.xml.XmlBeanDefinitionReader.doLoadBeanDefinitions(XmlBeanDefinitionReader.java:392)
    ... 30 more
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ equipe07-log720-A14-lab3 ---
[INFO] ca.etsmtl.log720.lab3:equipe07-log720-A14-lab3:war:1.0-SNAPSHOT
[INFO] +- postgresql:postgresql:jar:9.1-901.jdbc4:compile
[INFO] +- org.springframework:spring-core:jar:4.1.2.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] +- org.springframework:spring-context:jar:4.1.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:4.1.2.RELEASE:compile
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.1.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-expression:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:4.1.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-jdbc:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-web:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.1.2.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.3.7.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  +- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] \- org.hibernate:hibernate-entitymanager:jar:4.3.7.Final:compile
我正在尝试运行以下命令:

AppMain.java

package ca.etsmtl.log720.lab3;

import ca.etsmtl.log720.lab3.model.Dossier;
import ca.etsmtl.log720.lab3.service.DossierService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class AppMain {

    public static void main(String args[]) {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

        DossierService service = (DossierService) context.getBean("dossierService");

        /*
         * Get all employees list from database
         */
        List<Dossier> dossiers = service.findAll();
        for (Dossier dossier : dossiers) {
            System.out.println(dossier);
        }
    }
}
包ca.etsmtl.log720.lab3;
导入ca.etsmtl.log720.lab3.model.docsier;
导入ca.etsmtl.log720.lab3.service.DossierService;
导入org.springframework.context.ApplicationContext;
导入org.springframework.context.support.ClassPathXmlApplicationContext;
导入java.util.List;
公共类AppMain{
公共静态void main(字符串参数[]){
ApplicationContext上下文=新的ClassPathXmlApplicationContext(“spring config.xml”);
DossierService=(DossierService)context.getBean(“DossierService”);
/*
*从数据库中获取所有员工列表
*/
列表档案=service.findAll();
用于(档案:档案){
系统输出打印(档案);
}
}
}

如果需要更多的代码,请询问

我用这个问题解决了我的问题:


我的spring-context-4.1.xsd文件在Java安装的jre/lib中使用了一个.jar。

org.springframework.transaction.config的堆栈跟踪点第54行。AnnotationDrivenBeanDefinitionParser,但是Spring 4.1.2()的源代码表示该行没有可执行代码。这向我表明,您的服务器不知何故正在使用旧版本的Spring。检查WAR文件,确保其中没有不应该存在的内容。我在终端中运行了
mvn exec:java-Dexec.mainClass=“ca.etsmtl.log720.lab3.AppMain”
,它工作了。因此,是我的IntelliJ配置不好。我用Maven设置了它,但它使用了其他配置。。。谢谢,它解决了我的问题。
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">

    <modelVersion>4.0.0</modelVersion>
    <groupId>ca.etsmtl.log720.lab3</groupId>
    <artifactId>equipe07-log720-A14-lab3</artifactId>
    <packaging>war</packaging>
    <version>1.0-SNAPSHOT</version>
    <name>equipe07-log720-A14-lab3 Maven Webapp</name>
    <url>http://maven.apache.org</url>

    <properties>
        <java.version>1.7</java.version>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>

        <spring.version>4.1.2.RELEASE</spring.version>
        <hibernate.version>4.3.7.Final</hibernate.version>
    </properties>

    <build>
        <finalName>equipe07-log720-A14-lab3</finalName>
    </build>

    <dependencies>
        <!-- PostgreSQL -->
        <dependency>
            <groupId>postgresql</groupId>
            <artifactId>postgresql</artifactId>
            <version>9.1-901.jdbc4</version>
        </dependency>

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

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

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

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

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

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

        <!-- Hibernate -->
        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-core</artifactId>
            <version>${hibernate.version}</version>
        </dependency>

        <dependency>
            <groupId>org.hibernate</groupId>
            <artifactId>hibernate-entitymanager</artifactId>
            <version>${hibernate.version}</version>
        </dependency>
    </dependencies>
</project>
[INFO] --- maven-dependency-plugin:2.8:tree (default-cli) @ equipe07-log720-A14-lab3 ---
[INFO] ca.etsmtl.log720.lab3:equipe07-log720-A14-lab3:war:1.0-SNAPSHOT
[INFO] +- postgresql:postgresql:jar:9.1-901.jdbc4:compile
[INFO] +- org.springframework:spring-core:jar:4.1.2.RELEASE:compile
[INFO] |  \- commons-logging:commons-logging:jar:1.1.3:compile
[INFO] +- org.springframework:spring-context:jar:4.1.2.RELEASE:compile
[INFO] |  +- org.springframework:spring-aop:jar:4.1.2.RELEASE:compile
[INFO] |  |  \- aopalliance:aopalliance:jar:1.0:compile
[INFO] |  +- org.springframework:spring-beans:jar:4.1.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-expression:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-tx:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-orm:jar:4.1.2.RELEASE:compile
[INFO] |  \- org.springframework:spring-jdbc:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-web:jar:4.1.2.RELEASE:compile
[INFO] +- org.springframework:spring-webmvc:jar:4.1.2.RELEASE:compile
[INFO] +- org.hibernate:hibernate-core:jar:4.3.7.Final:compile
[INFO] |  +- org.jboss.logging:jboss-logging:jar:3.1.3.GA:compile
[INFO] |  +- org.jboss.logging:jboss-logging-annotations:jar:1.2.0.Beta1:compile
[INFO] |  +- org.jboss.spec.javax.transaction:jboss-transaction-api_1.2_spec:jar:1.0.0.Final:compile
[INFO] |  +- dom4j:dom4j:jar:1.6.1:compile
[INFO] |  |  \- xml-apis:xml-apis:jar:1.0.b2:compile
[INFO] |  +- org.hibernate.common:hibernate-commons-annotations:jar:4.0.5.Final:compile
[INFO] |  +- org.hibernate.javax.persistence:hibernate-jpa-2.1-api:jar:1.0.0.Final:compile
[INFO] |  +- org.javassist:javassist:jar:3.18.1-GA:compile
[INFO] |  +- antlr:antlr:jar:2.7.7:compile
[INFO] |  \- org.jboss:jandex:jar:1.1.0.Final:compile
[INFO] \- org.hibernate:hibernate-entitymanager:jar:4.3.7.Final:compile
package ca.etsmtl.log720.lab3;

import ca.etsmtl.log720.lab3.model.Dossier;
import ca.etsmtl.log720.lab3.service.DossierService;
import org.springframework.context.ApplicationContext;
import org.springframework.context.support.ClassPathXmlApplicationContext;

import java.util.List;

public class AppMain {

    public static void main(String args[]) {
        ApplicationContext context = new ClassPathXmlApplicationContext("spring-config.xml");

        DossierService service = (DossierService) context.getBean("dossierService");

        /*
         * Get all employees list from database
         */
        List<Dossier> dossiers = service.findAll();
        for (Dossier dossier : dossiers) {
            System.out.println(dossier);
        }
    }
}