JSFUnit CONFIGURATION FAILED! org.jboss.jsfunit.context.JSFU
dakn May 15, 2009 7:40 AMHi,
i have a problem with jsfunit in my jsf project. i developed an jsf web application with jsf 1.2 sun and tomcat 6.0.18. now i want to test the jsf pages.
i did the steps from getting started part, but i get the following exception after starting tomcat:
Exception sending context initialized event to listener instance of class com.sun.faces.config.ConfigureListener com.sun.faces.config.ConfigurationException: CONFIGURATION FAILED! org.jboss.jsfunit.context.JSFUnitFacesContextFactory at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:213) at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:196) at org.apache.catalina.core.StandardContext.listenerStart(StandardContext.java:3843) at org.apache.catalina.core.StandardContext.start(StandardContext.java:4342) at org.apache.catalina.core.ContainerBase.addChildInternal(ContainerBase.java:791) at org.apache.catalina.core.ContainerBase.addChild(ContainerBase.java:771) at org.apache.catalina.core.StandardHost.addChild(StandardHost.java:525) at org.apache.catalina.startup.HostConfig.deployDirectory(HostConfig.java:926) at org.apache.catalina.startup.HostConfig.deployDirectories(HostConfig.java:889) at org.apache.catalina.startup.HostConfig.deployApps(HostConfig.java:492) at org.apache.catalina.startup.HostConfig.start(HostConfig.java:1149) at org.apache.catalina.startup.HostConfig.lifecycleEvent(HostConfig.java:311) at org.apache.catalina.util.LifecycleSupport.fireLifecycleEvent(LifecycleSupport.java:117) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1053) at org.apache.catalina.core.StandardHost.start(StandardHost.java:719) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1045) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:443) at org.apache.catalina.core.StandardService.start(StandardService.java:516) at org.apache.catalina.core.StandardServer.start(StandardServer.java:710) at org.apache.catalina.startup.Catalina.start(Catalina.java:578) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:39) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:25) at java.lang.reflect.Method.invoke(Method.java:597) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:288) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Caused by: java.lang.InstantiationException: org.jboss.jsfunit.context.JSFUnitFacesContextFactory at java.lang.Class.newInstance0(Class.java:340) at java.lang.Class.newInstance(Class.java:308) at javax.faces.FactoryFinder.getImplGivenPreviousImpl(FactoryFinder.java:537) at javax.faces.FactoryFinder.getImplementationInstance(FactoryFinder.java:405) at javax.faces.FactoryFinder.access$400(FactoryFinder.java:135) at javax.faces.FactoryFinder$FactoryManager.getFactory(FactoryFinder.java:717) at javax.faces.FactoryFinder.getFactory(FactoryFinder.java:239) at com.sun.faces.config.processor.FactoryConfigProcessor.verifyFactoriesExist(FactoryConfigProcessor.java:186) at com.sun.faces.config.processor.FactoryConfigProcessor.process(FactoryConfigProcessor.java:131) at com.sun.faces.config.ConfigManager.initialize(ConfigManager.java:203) ... 25 more
I use the jsf-impl.jar and jsf-api.jar file in /lib folder for jsf. when i delete the jsf-api.jar file the exception is not available but then a got another exception that tomcat could not find facescontext.
these are my jar files from tomcat /lib folder
/usr/local/tomcat/lib/annotations-api.jar
/usr/local/tomcat/lib/ant-1.5.4.jar
/usr/local/tomcat/lib/aspectjrt-1.2.1.jar
/usr/local/tomcat/lib/cactus-13-1.7.1.jar
/usr/local/tomcat/lib/cactus-ant-13-1.7.1.jar
/usr/local/tomcat/lib/cargo-0.5.jar
/usr/local/tomcat/lib/catalina.jar
/usr/local/tomcat/lib/catalina-ant.jar
/usr/local/tomcat/lib/catalina-ha.jar
/usr/local/tomcat/lib/catalina-tribes.jar
/usr/local/tomcat/lib/commons-codec-1.3.jar
/usr/local/tomcat/lib/commons-collections-3.2.jar
/usr/local/tomcat/lib/commons-httpclient-3.1.jar
/usr/local/tomcat/lib/commons-io-1.4.jar
/usr/local/tomcat/lib/commons-lang-2.4.jar
/usr/local/tomcat/lib/commons-logging-1.1.1.jar
/usr/local/tomcat/lib/cssparser-0.9.5.jar
/usr/local/tomcat/lib/el-api.jar
/usr/local/tomcat/lib/htmlunit-2.4.jar
/usr/local/tomcat/lib/htmlunit-core-js-2.4.jar
/usr/local/tomcat/lib/jasper.jar
/usr/local/tomcat/lib/jasper-el.jar
/usr/local/tomcat/lib/jasper-jdt.jar
/usr/local/tomcat/lib/jboss-jsfunit-core-1.0.0.GA.jar
/usr/local/tomcat/lib/jsf-api.jar
/usr/local/tomcat/lib/jsf-impl.jar
/usr/local/tomcat/lib/jsp-api.jar
/usr/local/tomcat/lib/jstl-1.2.jar
/usr/local/tomcat/lib/junit-3.8.1.jar
/usr/local/tomcat/lib/nekohtml-1.9.9.jar
/usr/local/tomcat/lib/sac-1.3.jar
/usr/local/tomcat/lib/servlet-api.jar
/usr/local/tomcat/lib/standard.jar
/usr/local/tomcat/lib/tomcat-coyote.jar
/usr/local/tomcat/lib/tomcat-dbcp.jar
/usr/local/tomcat/lib/tomcat-i18n-es.jar
/usr/local/tomcat/lib/tomcat-i18n-fr.jar
/usr/local/tomcat/lib/tomcat-i18n-ja.jar
in web.xml in my project i do:
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5"> <display-name>xBlogThesis</display-name> <welcome-file-list> <welcome-file>index.html</welcome-file> <welcome-file>index.htm</welcome-file> <welcome-file>index.jsp</welcome-file> <welcome-file>default.html</welcome-file> <welcome-file>default.htm</welcome-file> <welcome-file>default.jsp</welcome-file> </welcome-file-list> <servlet> <servlet-name>Faces Servlet</servlet-name> <servlet-class>javax.faces.webapp.FacesServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <filter> <filter-name>JSFUnitFilter</filter-name> <filter-class>org.jboss.jsfunit.framework.JSFUnitFilter</filter-class> </filter> <filter-mapping> <filter-name>JSFUnitFilter</filter-name> <servlet-name>ServletTestRunner</servlet-name> </filter-mapping> <filter-mapping> <filter-name>JSFUnitFilter</filter-name> <servlet-name>ServletRedirector</servlet-name> </filter-mapping> <servlet> <servlet-name>ServletRedirector</servlet-name> <servlet-class>org.jboss.jsfunit.framework.JSFUnitServletRedirector</servlet-class> </servlet> <servlet> <servlet-name>ServletTestRunner</servlet-name> <servlet-class>org.apache.cactus.server.runner.ServletTestRunner</servlet-class> </servlet> <servlet-mapping> <servlet-name>ServletRedirector</servlet-name> <url-pattern>/ServletRedirector</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>ServletTestRunner</servlet-name> <url-pattern>/ServletTestRunner</url-pattern> </servlet-mapping> <servlet-mapping> <servlet-name>Faces Servlet</servlet-name> <url-pattern>/faces/*</url-pattern> </servlet-mapping> </web-app>
I hope somebody could help my.
thanks in advance.