spring - java.lang.NoSuchMethodError while init. SessionFactory -
i have facelets / jsf managed beans/ hibernate application , need attach spring framework managing app. application fails start. gives me following stacktrace:
2013-07-31 12:17:35,528 error [contextloader] context initialization failed org.springframework.beans.factory.beancreationexception: error creating bean name 'homebean': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: private com.dataart.mediaportal.dao.impl.imagedaoimpl com.dataart.mediaportal.controller.bean.homebean.imagedao; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'imagedaoimpl': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: protected org.hibernate.sessionfactory com.dataart.mediaportal.dao.abstractdao.factory; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/applicationcontext.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; caused by: org.springframework.beans.factory.beancreationexception: not autowire field: private com.dataart.mediaportal.dao.impl.imagedaoimpl com.dataart.mediaportal.controller.bean.homebean.imagedao; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'imagedaoimpl': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: protected org.hibernate.sessionfactory com.dataart.mediaportal.dao.abstractdao.factory; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/applicationcontext.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:514) @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:87) @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:285) ... 52 more caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'imagedaoimpl': injection of autowired dependencies failed; nested exception org.springframework.beans.factory.beancreationexception: not autowire field: protected org.hibernate.sessionfactory com.dataart.mediaportal.dao.abstractdao.factory; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/applicationcontext.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:288) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.populatebean(abstractautowirecapablebeanfactory.java:1116) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:519) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ 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.findautowirecandidates(defaultlistablebeanfactory.java:910) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.doresolvedependency(defaultlistablebeanfactory.java:853) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.resolvedependency(defaultlistablebeanfactory.java:768) @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:486) ... 54 more caused by: org.springframework.beans.factory.beancreationexception: not autowire field: protected org.hibernate.sessionfactory com.dataart.mediaportal.dao.abstractdao.factory; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/applicationcontext.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:514) @ org.springframework.beans.factory.annotation.injectionmetadata.inject(injectionmetadata.java:87) @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor.postprocesspropertyvalues(autowiredannotationbeanpostprocessor.java:285) ... 65 more caused by: org.springframework.beans.factory.beancreationexception: error creating bean name 'sessionfactory' defined in servletcontext resource [/web-inf/applicationcontext.xml]: invocation of init method failed; nested exception java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1482) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:521) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:458) @ 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.findautowirecandidates(defaultlistablebeanfactory.java:910) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.doresolvedependency(defaultlistablebeanfactory.java:853) @ org.springframework.beans.factory.support.defaultlistablebeanfactory.resolvedependency(defaultlistablebeanfactory.java:768) @ org.springframework.beans.factory.annotation.autowiredannotationbeanpostprocessor$autowiredfieldelement.inject(autowiredannotationbeanpostprocessor.java:486) ... 67 more caused by: java.lang.nosuchmethoderror: org.springframework.orm.hibernate4.localsessionfactorybuilder.addannotatedclass(ljava/lang/class;)lorg/hibernate/cfg/configuration; @ org.springframework.orm.hibernate4.localsessionfactorybuilder.scanpackages(localsessionfactorybuilder.java:200) @ org.springframework.orm.hibernate4.localsessionfactorybean.afterpropertiesset(localsessionfactorybean.java:349) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.invokeinitmethods(abstractautowirecapablebeanfactory.java:1541) @ org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.initializebean(abstractautowirecapablebeanfactory.java:1479) ... 77 more
i don't have idea how solve approach. db properties guaranteed ok. hope here able me. still, appreciate every answer. here's pom.xml , applicationcontext.xml.
pom.xml:
<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>com.dataart.nsobchuk</groupid> <artifactid>mediaportal</artifactid> <packaging>war</packaging> <version>1.0-snapshot</version> <name>mediaportal</name> <url>http://maven.apache.org</url> <properties> <java.version>1.6</java.version> <src.main.dir>src/main</src.main.dir> <main.resources.dir>${src.main.dir}/resources</main.resources.dir> <spring.version>3.2.3.release</spring.version> <richfaces.version>4.3.2.final</richfaces.version> <project.build.sourceencoding>utf-8</project.build.sourceencoding> <aspectj.version>1.7.3</aspectj.version> </properties> <dependencies> <!-- spring dependency --> <dependency> <groupid>org.aspectj</groupid> <artifactid>aspectjrt</artifactid> <version>${aspectj.version}</version> </dependency> <dependency> <groupid>org.aspectj</groupid> <artifactid>aspectjweaver</artifactid> <version>${aspectj.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-core</artifactid> <version>${spring.version}</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-context-support</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> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-aspects</artifactid> <version>${spring.version}</version> </dependency> <!-- hibernate dependency --> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-entitymanager</artifactid> <version>4.1.9.final</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-core</artifactid> <version>4.1.9.final</version> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-commons-annotations</artifactid> <version>3.3.0.ga</version> <exclusions> <exclusion> <artifactid>hibernate</artifactid> <groupid>org.hibernate</groupid> </exclusion> </exclusions> </dependency> <dependency> <groupid>org.hibernate</groupid> <artifactid>hibernate-annotations</artifactid> <version>3.4.0.ga</version> <exclusions> <exclusion> <artifactid>hibernate</artifactid> <groupid>org.hibernate</groupid> </exclusion> </exclusions> </dependency> <!-- richfaces dependency --> <dependency> <groupid>org.richfaces.ui</groupid> <artifactid>richfaces-components-api</artifactid> <version>${richfaces.version}</version> </dependency> <dependency> <groupid>org.richfaces.ui</groupid> <artifactid>richfaces-components-ui</artifactid> <version>${richfaces.version}</version> </dependency> <dependency> <groupid>org.richfaces.core</groupid> <artifactid>richfaces-core-api</artifactid> <version>${richfaces.version}</version> </dependency> <dependency> <groupid>org.richfaces.core</groupid> <artifactid>richfaces-core-impl</artifactid> <version>${richfaces.version}</version> </dependency> <dependency> <groupid>org.apache.myfaces.tomahawk</groupid> <artifactid>tomahawk</artifactid> <version>1.1.14</version> </dependency> <dependency> <groupid>com.sun.faces</groupid> <artifactid>jsf-api</artifactid> <version>2.2.0</version> </dependency> <dependency> <groupid>com.sun.faces</groupid> <artifactid>jsf-impl</artifactid> <version>2.2.0</version> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>jstl</artifactid> <version>1.1.2</version> </dependency> <dependency> <groupid>postgresql</groupid> <artifactid>postgresql</artifactid> <version>9.1-901.jdbc4</version> </dependency> <dependency> <groupid>cglib</groupid> <artifactid>cglib</artifactid> <version>2.2.2</version> </dependency> <dependency> <groupid>asm</groupid> <artifactid>asm-util</artifactid> <version>3.3.1</version> </dependency> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>3.8.1</version> <scope>test</scope> </dependency> <dependency> <groupid>javax.persistence</groupid> <artifactid>persistence-api</artifactid> <version>1.0.2</version> </dependency> <dependency> <groupid>org.eclipse.persistence</groupid> <artifactid>eclipselink</artifactid> <version>2.5.0-snapshot</version> </dependency> <dependency> <groupid>org.eclipse.persistence</groupid> <artifactid>javax.persistence</artifactid> <version>2.1.0-snapshot</version> </dependency> <dependency> <groupid>org.eclipse.persistence</groupid> <artifactid>org.eclipse.persistence.jpa.modelgen.processor</artifactid> <version>2.5.0-snapshot</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax</groupid> <artifactid>javaee-api</artifactid> <version>7.0</version> <scope>provided</scope> </dependency> <dependency> <groupid>javax.servlet</groupid> <artifactid>servlet-api</artifactid> <version>3.0-alpha-1</version> <scope>provided</scope> </dependency> <dependency> <groupid>commons-fileupload</groupid> <artifactid>commons-fileupload</artifactid> <version>1.3</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-api</artifactid> <version>1.7.5</version> </dependency> <dependency> <groupid>org.slf4j</groupid> <artifactid>slf4j-log4j12</artifactid> <version>1.7.5</version> </dependency> <dependency> <groupid>commons-dbcp</groupid> <artifactid>commons-dbcp</artifactid> <version>1.2.2</version> </dependency> </dependencies> <build> <finalname>mediaportal</finalname> <directory>${basedir}/build/classes</directory> <sourcedirectory>src/main/java</sourcedirectory> <resources> <resource> <directory>${main.resources.dir}</directory> <filtering>false</filtering> <excludes> <exclude>**</exclude> </excludes> </resource> <resource> <directory>${main.resources.dir}</directory> <filtering>true</filtering> <includes> <include>**</include> </includes> </resource> </resources> <plugins> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-clean-plugin</artifactid> <version>2.5</version> <executions> <execution> <id>auto-clean</id> <phase>install</phase> <goals> <goal>clean</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-war-plugin</artifactid> <version>2.3</version> <configuration> <outputdirectory>${basedir}/dist</outputdirectory> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-antrun-plugin</artifactid> <version>1.7</version> <executions> <execution> <phase>package</phase> <configuration> <tasks> <copy todir="c:\program files\apache software foundation\apache tomcat 7.0.34\webapps" > <fileset dir="${basedir}\dist" includes="**"/> </copy> </tasks> </configuration> <goals> <goal>run</goal> </goals> </execution> </executions> </plugin> <plugin> <groupid>org.codehaus.mojo</groupid> <artifactid>tomcat-maven-plugin</artifactid> <version>1.1</version> <configuration> <url>http://127.0.0.1:8080/manager</url> <server>tomcatserver</server> <path>/webapps</path> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-compiler-plugin</artifactid> <version>2.3.2</version> <configuration> <source>1.6</source> <target>1.6</target> <encoding>${project.build.sourceencoding}</encoding> <proc>none</proc> </configuration> </plugin> <plugin> <groupid>org.apache.maven.plugins</groupid> <artifactid>maven-resources-plugin</artifactid> <version>2.4.3</version> <configuration> <encoding>${project.build.sourceencoding}</encoding> </configuration> </plugin> </plugins> </build> <repositories> <repository> <url>http://download.eclipse.org/rt/eclipselink/maven.repo</url> <id>eclipselink</id> <layout>default</layout> <name>repository library eclipselink (jpa 2.0)</name> </repository> </repositories> </project>
applicationcontext.xml:
<?xml version="1.0" encoding="utf-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xsi:schemalocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:component-scan base-package="com.dataart.mediaportal" /> <bean class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix"> <value>/pages/</value> </property> <property name="suffix"> <value>.xhtml</value> </property> </bean> <!-- data source , persistence settings--> <bean id="propertiesplaceholderconfigurer" class="org.springframework.beans.factory.config.propertyplaceholderconfigurer"> <property name="locations"> <list> <value>classpath:db.properties</value> </list> </property> </bean> <bean id="sessionfactory" class="org.springframework.orm.hibernate4.localsessionfactorybean"> <property name="datasource" ref="dmdatasource"/> <property name="packagestoscan" value="com.dataart.mediaportal"/> <property name="hibernateproperties"> <props> <prop key="hibernate.dialect">${db.dialect}</prop> <prop key="hibernate.show_sql">${db.show_sql}</prop> <prop key="hibernate.hbm2ddl.import_files">${db.import_files}</prop> <prop key="hibernate.hbm2ddl.auto">${db.hbm2ddl_auto}</prop> <prop key="connection.pool_size">${db.pool_size}</prop> <prop key="current_session_context_class">${db.current_session_context_class}</prop> <prop key="hibernate.cache.provider_class">${db.provider_class}</prop> <prop key="hibernate.cache.use_second_level_cache">${db.use_second_level_cache}</prop> <prop key="hibernate.cache.use_query_cache">${db.use_query_cache}</prop> </props> </property> </bean> <bean id="tm" class="org.springframework.orm.hibernate4.hibernatetransactionmanager"> <property name="sessionfactory" ref="sessionfactory"/> </bean> <bean id="dmdatasource" class="org.apache.commons.dbcp.basicdatasource" destroy-method="close"> <property name="driverclassname" value="${db.driver}" /> <property name="url" value="${db.url}" /> <property name="username" value="${db.username}" /> <property name="password" value="${db.password}" /> <property name="maxwait" value="5000" /> <property name="maxactive" value="5" /> </bean> </beans>
try remove hibernate-commons-annotations
, hibernate-annotations
dependencies
Comments
Post a Comment