maven - Error creating bean with name 'flowBuilderServices': Initialization of bean failed with spring web flow -
please want develop first spring web flow application. error :
org.springframework.beans.factory.beancreationexception: error creating bean name 'org.springframework.web.servlet.handler.simpleurlhandlermapping#1' defined in servletcontext resource [/web-inf/spring/appservlet/servlet-context.xml]: initialization of bean failed; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'flowcontroller' defined in servletcontext resource [/web-inf/spring/appservlet/servlet-context.xml]: cannot resolve reference bean 'flowexecutor' while setting bean property 'flowexecutor'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'flowexecutor': cannot resolve reference bean 'flowregistry' while setting bean property 'flowdefinitionlocator'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'flowregistry': cannot resolve reference bean 'flowbuilderservices' while setting bean property 'flowbuilderservices'; nested exception org.springframework.beans.factory.beancreationexception: error creating bean name 'flowbuilderservices': initialization of bean failed; nested exception java.lang.incompatibleclasschangeerror: implementing class org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.docreatebean(abstractautowirecapablebeanfactory.java:527) org.springframework.beans.factory.support.abstractautowirecapablebeanfactory.createbean(abstractautowirecapablebeanfactory.java:456) org.springframework.beans.factory.support.abstractbeanfactory$1.getobject(abstractbeanfactory.java:294) org.springframework.beans.factory.support.defaultsingletonbeanregistry.getsingleton(defaultsingletonbeanregistry.java:225) org.springframework.beans.factory.support.abstractbeanfactory.dogetbean(abstractbeanfactory.java:291) org.springframework.beans.factory.support.abstractbeanfactory.getbean(abstractbeanfactory.java:193) org.springframework.beans.factory.support.defaultlistablebeanfactory.preinstantiatesingletons(defaultlistablebeanfactory.java:585) org.springframework.context.support.abstractapplicationcontext.finishbeanfactoryinitialization(abstractapplicationcontext.java:913) org.springframework.context.support.abstractapplicationcontext.refresh(abstractapplicationcontext.java:464) org.springframework.web.servlet.frameworkservlet.configureandrefreshwebapplicationcontext(frameworkservlet.java:631) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:588) org.springframework.web.servlet.frameworkservlet.createwebapplicationcontext(frameworkservlet.java:645) org.springframework.web.servlet.frameworkservlet.initwebapplicationcontext(frameworkservlet.java:508) org.springframework.web.servlet.frameworkservlet.initservletbean(frameworkservlet.java:449) org.springframework.web.servlet.httpservletbean.init(httpservletbean.java:133) javax.servlet.genericservlet.init(genericservlet.java:160) org.apache.catalina.authenticator.authenticatorbase.invoke(authenticatorbase.java:472) org.apache.catalina.valves.errorreportvalve.invoke(errorreportvalve.java:99) org.apache.catalina.valves.accesslogvalve.invoke(accesslogvalve.java:953) org.apache.catalina.connector.coyoteadapter.service(coyoteadapter.java:408) org.apache.coyote.http11.abstracthttp11processor.process(abstracthttp11processor.java:1023) org.apache.coyote.abstractprotocol$abstractconnectionhandler.process(abstractprotocol.java:589) org.apache.tomcat.util.net.jioendpoint$socketprocessor.run(jioendpoint.java:310) java.util.concurrent.threadpoolexecutor$worker.runtask(threadpoolexecutor.java:886) java.util.concurrent.threadpoolexecutor$worker.run(threadpoolexecutor.java:908) java.lang.thread.run(thread.java:619)
my pom.xml file :
<?xml version="1.0" encoding="utf-8"?> <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.dosi</groupid> <artifactid>fnoufal</artifactid> <name>springmvc</name> <packaging>war</packaging> <version>1.0.0-build-snapshot</version> <properties> <java-version>1.6</java-version> <org.springframework-version>3.1.1.release</org.springframework-version> <org.aspectj-version>1.6.10</org.aspectj-version> <org.slf4j-version>1.6.6</org.slf4j-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> <!-- aspectj --> <dependency> <groupid>org.aspectj</groupid> <artifactid>aspectjrt</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.15</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> <dependency> <groupid>org.springframework.webflow</groupid> <artifactid>spring-webflow</artifactid> <version>2.3.2.release</version> </dependency> <dependency> <groupid>org.springframework</groupid> <artifactid>spring-binding</artifactid> <version>1.0.6</version> </dependency> <dependency> <groupid>org.springframework.webflow</groupid> <artifactid>spring-js</artifactid> <version>2.3.2.release</version> </dependency> <dependency> <groupid>ognl</groupid> <artifactid>ognl</artifactid> <version>3.0.6</version> </dependency> <!-- test --> <dependency> <groupid>junit</groupid> <artifactid>junit</artifactid> <version>4.7</version> <scope>test</scope> </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> </plugins> </build>
my xml configuration dispatcher-servlet.xml :
<?xml version="1.0" encoding="utf-8"?> <beans:beans xmlns="http://www.springframework.org/schema/mvc" xmlns:xsi="http://www.w3.org/2001/xmlschema-instance" xmlns:beans="http://www.springframework.org/schema/beans" xmlns:context="http://www.springframework.org/schema/context" xmlns:flow="http://www.springframework.org/schema/webflow-config" xsi:schemalocation="http://www.springframework.org/schema/mvc http://www.springframework.org/schema/mvc/spring-mvc.xsd http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd http://www.springframework.org/schema/webflow-config http://www.springframework.org/schema/webflow-config/spring-webflow-config-2.0.xsd"> <!-- dispatcherservlet context: defines servlet's request-processing infrastructure --> <!-- enables spring mvc @controller programming model --> <annotation-driven /> <!-- handles http requests /resources/** efficiently serving static resources in ${webapproot}/resources directory --> <resources mapping="/resources/**" location="/resources/" /> <!-- resolves views selected rendering @controllers .jsp resources in /web-inf/views directory --> <beans:bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <beans:property name="prefix" value="/web-inf/views/" /> <beans:property name="suffix" value=".jsp" /> </beans:bean> <!-- scan automatique pour les classes annotées comme des contrôleurs --> <context:component-scan base-package="com.dosi.fnoufal" /> <!-- mapper les requêtes du flow à partir du servlet spring dispatcher vers le flowcontroller --> <beans:bean class="org.springframework.web.servlet.handler.simpleurlhandlermapping"> <beans:property name="mappings"> <beans:value> /home.html = flowcontroller </beans:value> </beans:property> <beans:property name="alwaysusefullpath" value="true" /> </beans:bean> <!-- activer le controlleur flowcontroller --> <beans:bean class="org.springframework.web.servlet.mvc.simplecontrollerhandleradapter" /> <!-- configuration du spring web flow --> <!-- 1 - déclaration du flow controller --> <beans:bean id="flowcontroller" class="org.springframework.webflow.mvc.servlet.flowcontroller"> <beans:property name="flowexecutor" ref="flowexecutor" /> </beans:bean> <!-- 2 - déclaration du flow executor --> <flow:flow-executor flow-registry="flowregistry" id="flowexecutor" /> <!-- 3 - déclaration du flow register --> <flow:flow-registry id="flowregistry" flow-builder-services="flowbuilderservices"> <flow:flow-location path="/web-inf/flows/flow1.xml" /> </flow:flow-registry> <!-- 4 - déclaration du flow builder services --> <flow:flow-builder-services id="flowbuilderservices" view-factory-creator="viewfactorycreator"/> <!-- 5 - déclaration du flow factory creator --> <beans:bean id="viewfactorycreator" class="org.springframework.webflow.mvc.builder.mvcviewfactorycreator"> <beans:property name="viewresolvers"> <beans:list> <beans:ref bean="viewresolver" /> </beans:list> </beans:property> </beans:bean> </beans:beans>
there error in instantiation of swf beans. there solution ? thank !
you need reference view resolver. so:
<bean id="viewresolver" class="org.springframework.web.servlet.view.internalresourceviewresolver"> <property name="prefix" value="/web-inf/jsp/" /> <property name="suffix" value=".jsp" /> </bean>
Comments
Post a Comment