日志中的版本错误:INFO org.hibernate.cfg.Environment



我在hibernate版本jar加载方面遇到问题。。。。eclipse日志显示我使用的是3.2.4.sp1,但在pom.xml中使用的是4.2.0.Final。所以我想这就是我得到异常的原因。。。

INFO:org.springframework.beans.factory.xml.XmlBeanDefinitionReader-从类路径资源[root context.xml]加载xml bean定义信息:找到并支持org.springframework.context.annotation.ClassPathBeanDefinitionScanner-JSR-250"javax.annotation.ManagedBean"进行组件扫描信息:org.springframework.context.annotation.ClassPathBeanDefinitionScanner-JSR-330"javax.inject.Named"注释已找到并支持组件扫描信息:org.springframework.beans.factory.xml.XmlBeanDefinitionReader-从类路径资源[root context.xml]加载xml bean定义信息:找到并支持org.springframework.context.annotation.ClassPathBeanDefinitionScanner-JSR-250"javax.annotation.ManagedBean"进行组件扫描信息:org.springframework.context.annotation.ClassPathBeanDefinitionScanner-JSR-330"javax.inject.Named"注释已找到并支持组件扫描信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-覆盖bean"jdbcTemplate"的bean定义:替换[Generic-bean:class[org.springfframework.jdbc.core.simple.SimpleJdbcTemplate];范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[rootcontext.xml]]中使用[Generic-bean:class[org.springframework.jjdbc.core.simple.SimpleJdbcTemplate]定义;范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[rootcontext.xml]]中定义信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-覆盖bean"dataSource"的bean定义:替换[Generic-bean:class[org.springfframework.jdbc.dataSource.DriverManagerDataSource];范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[root-context.xml]]中定义,带有[Generic-bean:class[org.springframework.jdbc.datasource.DriverManagerDataSource];范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[rootcontext.xml]]中定义信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-覆盖bean"sessionFactory"的bean定义:替换[Generic-bean:class[org.springfframework.orm.hibernate4.LocalSessionFactoryBean];范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[root-context.xml]]中使用[Generic-bean:class[org.springframework.om.hibernate4.LocalSessionFactoryBean]定义;范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[rootcontext.xml]]中定义信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-覆盖bean"transactionManager"的bean定义:替换[Generic-bean:class[org.springfframework.orm.hibernate4.Hibernate transactionManager];范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[root-context.xml]]中使用[Generic-bean:class[org.springframework.orm.hibernate4.Hibernate TransactionManager]定义;范围=;abstract=false;lazyInit=false;autowireMode=0;dependencyCheck=0;autowireCandidate=true;primary=false;factoryBBeanName=null;factoryMethodName=null;initMethodName=null;destroyMethodName=null;在类路径资源[rootcontext.xml]]中定义信息:org.springframework.context.support.GenericApplicationContext-正在刷新org.springframework.context.support.GenericApplicationContext@8916a2:启动日期【2014年1月19日星期日下午17:55:32】;上下文层次结构的根信息:找到并支持org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor-JSR-330"javax.inject.injecte"注释进行自动布线信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-预先实例化org.springframework.beans.factory.support.DefaultListableBeanFactory@1e58cb8:定义bean[org.springframework.aop.config.internalAutoProxyCreator,org.springfframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.ttransaction.enterceptor#0,org/springframework.transaction.config.internal TransactionAdvisor,org.springpramework.context.annotation.internalConfigurationAnnotationProcessoralAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotation Processor,org/springframework.context.annotation.internalPersistenceAnnotationProcessors,employeeDao,managerDao,taskDao,timesheetDao,entityGenerator,cartService,timesheetService,jdbcTemplate,dataSource,sessionFactory,transactionManager,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor];工厂层次结构的根信息:org.springframework.jdbc.datasource.DriverManagerDataSource-已加载jdbc驱动程序:com.mysql.jdbc.jdbc2.optional.MysqlDataSource信息:org.hubinate.cfg.环境-休眠3.2.4.sp1信息:找不到org.hibernate.cfg.Environment-hibernate.properties信息:org.hubinate.cfg.Environment-字节码提供程序名称:cglib信息:org.hibernate.cfg.Environment-使用JDK 1.4 java.sql.Timestamp处理信息:org.springframework.beans.factory.support.DefaultListableBeanFactory-正在销毁org.springframework.beans.factory.support.DefaultListableBeanFactory@1e58cb8:定义bean[org.springframework.aop.config.internalAutoProxyCreator,org.springfframework.transaction.annotation.AnnotationTransactionAttributeSource#0,org.springframework.ttransaction.enterceptor#0,org/springframework.transaction.config.internal TransactionAdvisor,org.springpramework.context.annotation.internalConfigurationAnnotationProcessoralAutowiredAnnotationProcessor,org.springframework.context.annotation.internalRequiredAnnotation Processor,org/springframework.context.annotation.internalPersistenceAnnotationProcessors,employeeDao,managerDao,taskDao,timesheetDao,entityGenerator,cartService,timesheetService,jdbcTemplate,dataSource,sessionFactory,transactionManager,org.springframework.context.annotation.ConfigurationClassPostProcessor.importAwareProcessor];工厂层次结构的根错误:org.springframework.test.context.TestContextManager-在允许TestExecutionListener时捕获异常[org.springframework.test.context.support.DependencyInjectionTestExecutionListener@1554d32]准备测试实例[bch.com.br.test.dao.EmployeeDaoTest@13f136e]java.lang.IollegalStateException:未能加载ApplicationContext网址:org.springframework.test.context.TestContext.getApplicationContext(TestContext.java:157)。。。由以下原因引起:org.springframework.beans.factory.BeanCreationException:创建类路径资源[root context.xml]中定义的名称为"sessionFactory"的bean时出错:调用init方法失败;嵌套异常为java.lang.NoSuchMethodError:org.springframework.om.hibernate4.LocalSessionFactoryBuilder.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1486)网址:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.doCreateBean(AbstractAutowireCapableBeanFactory.java:524)网址:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.createBean(AbstractAutowireCapableBeanFactory.java:461)网址:org.springframework.beans.factory.support.AbstractBeanFactory$1.getObject(AbstractBeanFactory.java:295)位于org.springframework.beans.factory.support.DefaultSingletonBeanRegistry.getSingleton(DefaultSingletonBeanRegistry.java:223)网址:org.springframework.beans.factory.support.AbstractBeanFactory.doGetBean(AbstractBeanFactory.java:292)网址:org.springframework.beans.factory.support.AbstractBeanFactory.getBean(AbstractBeanFactory.java:194)位于org.springframework.beans.factory.support.DefaultListableBeanFactory.findAutowireCandidate(DefaultListableBeanFactory.java:891)位于org.springframework.beans.factory.support.DefaultListableBeanFactory.doResolveDependency(DefaultListableBeanFactory.java:834)位于org.springframework.beans.factory.support.DefaultListableBeanFactory.resolveDependency(DefaultListableBeanFactory.java:749)位于org.springframework.beans.factory.annotation.AutowiredAnnotationBeanPostProcessor$AutowiredMethodElement.inject(AutowiredAannotationBeanpostProcessor.java:558)…还有42引起原因:java.lang.NoSuchMethodError:org.springframework.om.hibernate4.LocalSessionFactoryBuilder.addAnnotatedClass(Ljava/lang/Class;)Lorg/hibernate/cfg/Configuration;位于org.springframework.om.hibernate4.LocalSessionFactoryBuilder.addAnnotatedClasses(LocalSessionFactoryBuilder.java:163)网址:org.springframework.om.hibernate4.LocalSessionFactoryBuilder.scanPackages(LocalSessionFactoryBuilder.java:198)位于org.springframework.orm.hibernate4.LocalSessionFactoryBean.afterPropertiesSet(LocalSessionFactoryBean.java:348)网址:org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.invokeInitMethods(AbstractAutowireCapableBeanFactory.java:1545)位于org.springframework.beans.factory.support.AbstractAutowireCapableBeanFactory.initializeBean(AbstractAutowireCapableBeanFactory.java:1483)…52更多

pom.xml

<properties>
<java-version>1.6</java-version>
<org.springframework-version>3.2.1.RELEASE</org.springframework-version>
<org.aspectj-version>1.6.10</org.aspectj-version>
<org.slf4j-version>1.6.6</org.slf4j-version>
<org.hibernate-version>4.2.0.Final</org.hibernate-version>
</properties>
<dependencies>
<!-- Spring -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context</artifactId>
<version>${org.springframework-version}</version>
<exclusions>
<!-- Exclude Commons Logging in favor of SLF4j -->
<exclusion>
<groupId>commons-logging</groupId>
<artifactId>commons-logging</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-test</artifactId>
<version>${org.springframework-version}</version>
</dependency>   
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework-version}</version>
</dependency>   
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-orm</artifactId>
<version>${org.springframework-version}</version>
</dependency>   
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-web</artifactId>
<version>${org.springframework-version}</version>
</dependency>   
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-aop</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<!-- AspectJ -->
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjrt</artifactId>
<version>${org.aspectj-version}</version>
</dependency>   
<dependency>
<groupId>org.aspectj</groupId>
<artifactId>aspectjtools</artifactId>
<version>${org.aspectj-version}</version>
</dependency>
<!-- Logging -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>${org.slf4j-version}</version>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>jcl-over-slf4j</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-log4j12</artifactId>
<version>${org.slf4j-version}</version>
<scope>runtime</scope>
</dependency>
<dependency>
<groupId>log4j</groupId>
<artifactId>log4j</artifactId>
<version>1.2.17</version>
<exclusions>
<exclusion>
<groupId>javax.mail</groupId>
<artifactId>mail</artifactId>
</exclusion>
<exclusion>
<groupId>javax.jms</groupId>
<artifactId>jms</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jdmk</groupId>
<artifactId>jmxtools</artifactId>
</exclusion>
<exclusion>
<groupId>com.sun.jmx</groupId>
<artifactId>jmxri</artifactId>
</exclusion>
</exclusions>
<scope>runtime</scope>
</dependency>
<!-- @Inject -->
<dependency>
<groupId>javax.inject</groupId>
<artifactId>javax.inject</artifactId>
<version>1</version>
</dependency>
<!-- Servlet -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>jstl</artifactId>
<version>1.2</version>
</dependency>
<!-- Test -->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.10</version>
</dependency>        
<dependency>
<groupId>org.mockito</groupId>
<artifactId>mockito-all</artifactId>
<version>1.9.0</version>
</dependency>
<!-- View -->
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-webflow</artifactId>
<version>2.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.webflow</groupId>
<artifactId>spring-js</artifactId>
<version>2.3.2.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-tx</artifactId>
<version>${org.springframework-version}</version>
</dependency>
<dependency>
<groupId>ognl</groupId>
<artifactId>ognl</artifactId>
<version>2.6.9</version>
</dependency>
<dependency>
<groupId>opensymphony</groupId>
<artifactId>sitemesh</artifactId>
<version>2.3</version>
</dependency>
<dependency>
<groupId>cglib</groupId>
<artifactId>cglib-nodep</artifactId>
<version>2.1_3</version>
</dependency>
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-validator</artifactId>
<version>${org.hibernate-version}</version>
</dependency>          
<dependency>
<groupId>org.hibernate</groupId>
<artifactId>hibernate-core</artifactId>
<version>${org.hibernate-version}</version>
</dependency>
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>5.1.6</version>
</dependency>

</dependencies>
<build>
<plugins>
<plugin>
<artifactId>maven-eclipse-plugin</artifactId>
<version>2.9</version>
<configuration>
<additionalProjectnatures>
<projectnature>org.springframework.ide.eclipse.core.springnature</projectnature>
</additionalProjectnatures>
<additionalBuildcommands>
<buildcommand>org.springframework.ide.eclipse.core.springbuilder</buildcommand>
</additionalBuildcommands>
<downloadSources>true</downloadSources>
<downloadJavadocs>true</downloadJavadocs>
</configuration>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>2.5.1</version>
<configuration>
<source>1.6</source>
<target>1.6</target>
<compilerArgument>-Xlint:all</compilerArgument>
<showWarnings>true</showWarnings>
<showDeprecation>true</showDeprecation>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>exec-maven-plugin</artifactId>
<version>1.2.1</version>
<configuration>
<mainClass>org.test.int1.Main</mainClass>
</configuration>
</plugin>
<plugin>
<artifactId>maven-war-plugin</artifactId>
<version>2.3</version>
<configuration>
<warName>MySpringMVCCart</warName>
<warSourceDirectory>${basedir}/src/main/webapp</warSourceDirectory>
<outputDirectory>C:jboss-as-7.1.1.Finalstandalonedeployments</outputDirectory>
<failOnMissingWebXml>false</failOnMissingWebXml>
</configuration>
</plugin>
</plugins>
</build>
</project>

有什么想法吗?

  1. 您尝试过在eclipse中清理项目吗?(项目>清洁…)
  2. 您也可以尝试删除/home/YOUR_USERNAME/.m2/repository.org/hibernate文件夹。在mvn的下一次运行中,您将在终端中看到hibernate将下载hiibernate的依赖项——请尝试观察3.2.4.sp1何时下载

希望它能有所帮助!

您的项目的构建路径中是否添加了另一个Eclipse项目?我也遇到过类似的问题,结果是:

  • 我添加了另一个Eclipse项目,该项目使用了麻烦的Hibernate版本
  • 由于Maven没有跟踪另一个项目(它不在我的pom.xml中,只是直接添加到构建路径中),两个版本的Hibernate都进入了类路径
  • JVM(出于我不理解的原因)从内部项目中选择了Hibernate版本

因此,请尝试从其他项目中删除错误版本的Hibernate,或者只构建并发布它,以便Maven可以在pom中为您跟踪其依赖关系。

相关内容

最新更新