Saludos Amigos de la comunidad,
Como ya muchos sabrán el JSF 2.0 ya esta entre nosotros razón por la cual me plantee la tarea de configurar un proyecto con estas tecnologías (Spring + JSF 2.0 + Maven +jetty +hibernate)
Todo funcionaba bien individualmente, el spring con el hibernate y el JSF2.0 con el jetty, cada cual por su lado, el problema se me presenta cuando intento consumir un bean de spring desde el managedBean de JSF 2.0
He revisado cualquier cantidad de paginas, enlaces, y foros dejandome como resultado, 1 error diferente luego de ver cada 1... :S
Al momento tengo este
" La aplicación no se ha inicializado correctamente durante el inicio, no se encuentra la fábrica: javax.faces.application.ApplicationFactory "
Me parece un error de dependencia, pero con una semana de ensayos y error ya consigo entender muchas cosas.
el pom de mi proyecto
************************************ POM.XML Padre *********************************************
<?xml version="1.0" encoding="UTF-8"?>
<modelVersion>4.0.0</modelVersion>
<groupId>ve.gob.ivss</groupId>
<artifactId>ActualizadorEmpleador</artifactId>
<version>1.0-SNAPSHOT</version>
<packaging>pom</packaging>
<name>Actualizador Empleador - Build</name>
<modules>
<module>modelo</module>
<module>web</module>
<module>UtilIvss</module>
</modules>
<!-- repositorios de las dependencias faltantes para proyecto web
se declaran dos repositorios. Esto es necesario porque los jar todavía no están disponibles en el repositorio público de ibiblio. Más arriba vemos como se declaran las dependencias: por un lado incluimos tanto el api (paquetes javax.faces) como la implementación (paquetes com.sun.faces); ambos son necesarios. También se puede ver como se incluye el validation-api e hibernate-validator. El primero es la interfaz del JSR-303 y el segundo es la implementación que da Hibernate a este JSR. Este JSR-303 ya está dentro de JSF 2 y nos permite, mediante anotaciones, especificar que validaciones queremos hacer sobre nuestros beans (más adelante veremos ejemplos de esto).
-->
<properties>
<org.springframework.version>3.0.5.RELEASE</org.springframework.version>
<project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
</properties>
<!-- Repositorios -->
<repositories>
<repository>
<name>Java.net Repository for Maven</name>
</repository>
<repository>
<id>jboss-public</id>
<name>JBoss Public Nexus Repository</name>
</repository>
</repositories>
<!-- END -->
<!-- Desarrolladores -->
<developers>
<developer>
<name>Luis Soto</name>
<id>lsoto</id>
<organization>personal</organization>
<roles>
<role>Developer</role>
</roles>
<timezone>-3</timezone>
</developer>
</developers>
<!--Creacion del javadoc con maven -->
<reporting>
<plugins>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-javadoc-plugin</artifactId>
<version>2.4</version>
<configuration>
<doclet>gr.spinellis.umlgraph.doclet.UmlGraphDoc</doclet>
<docletArtifact>
<groupId>gr.spinellis</groupId>
<artifactId>UmlGraph</artifactId>
<version>4.4</version>
</docletArtifact>
<additionalparam>
-inferrel -inferdep -quiet -hide java.*
-collpackages java.util.* -qualify
-postfixpackage -nodefontsize 9
-nodefontpackagesize 7 -operations -constructors
-visibility -types -link
</additionalparam>
</configuration>
</plugin>
<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>cobertura-maven-plugin</artifactId>
<inherited>true</inherited>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-project-info-reports-plugin</artifactId>
</plugin>
</plugins>
</reporting>
<!-- END Reporting -->
</project>
*********************************************************************************************
******************************************* POM MODULO WEB ********************************************
<modelVersion>4.0.0</modelVersion>
<groupId>ve.gob.ivss</groupId>
<artifactId>web</artifactId>
<packaging>war</packaging>
<version>1.0-SNAPSHOT</version>
<name>Actualizador Empleador - FrontEnd</name>
<!--configuracion del padre -->
<parent>
<groupId>ve.gob.ivss</groupId>
<artifactId>ActualizadorEmpleador</artifactId>
<version>1.0-SNAPSHOT</version>
</parent>
<!-- FIN -->
<dependencies>
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>3.8.1</version>
<scope>test</scope>
</dependency>
<!-- Dependecias JSF 2 -->
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-api</artifactId>
<version>2.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.faces</groupId>
<artifactId>jsf-impl</artifactId>
<version>2.0.1</version>
</dependency>
<!-- FIN JSF 2 -->
<dependency>
<groupId>javax.el</groupId>
<artifactId>el-api</artifactId>
<version>2.2</version>
</dependency>
<!-- Spring MVC -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${org.springframework.version}</version>
</dependency>
<!-- Fin Spring MVC -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>servlet-api</artifactId>
<version>2.5</version>
</dependency>
<dependency>
<groupId>javax.servlet.jsp</groupId>
<artifactId>jsp-api</artifactId>
<version>2.1</version>
</dependency>
<dependency>
<artifactId>modelo</artifactId>
<groupId>ve.gob.ivss</groupId>
<version>${project.version}</version>
</dependency>
<dependency>
<groupId>ve.gob.ivss.commons</groupId>
<artifactId>UtilIvss</artifactId>
<version>${project.version}</version>
</dependency>
</dependencies>
<build>
<finalName>web</finalName>
<plugins>
<plugin>
<groupId>org.mortbay.jetty</groupId>
<artifactId>maven-jetty-plugin</artifactId>
<configuration>
<scanIntervalSeconds>3</scanIntervalSeconds>
</configuration>
</plugin>
</plugins>
</build>
</project>
**********************************************************************************************
********************************************* WEB XML ***********************************************
<?xml version="1.0" encoding="UTF-8"?>
id="WebApp_ID" version="2.5">
<display-name>Actualizador Empleador</display-name>
<!-- context Locations -->
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath:/ve/gob/ivss/web/config/applicationContext.xml
classpath:/ve/gob/ivss/impl/config/spring-service.xml <!-- Servicios spring -->
classpath:/ve/gob/ivss/impl/config/spring-dao.xml <!-- DAO spring -->
</param-value>
</context-param>
<!-- Cambiar a "Production" cuando este listo para deploy -->
<context-param>
<param-name>javax.faces.PROJECT_STAGE</param-name>
<param-value>Development</param-value>
</context-param>
<listener>
<listener-class>org.springframework.web.context.ContextLoaderListener</listener-class>
</listener>
<listener>
<listener-class>org.springframework.web.context.request.RequestContextListener</listener-class>
</listener>
<!-- end Context locations Listener que tiene que estar para que funcione
spring -->
<!-- Servlet de Spring -->
<servlet>
<servlet-name>ViewRendererServlet</servlet-name>
<servlet-class>org.springframework.web.servlet.ViewRendererServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!-- Servlet de JSF -->
<servlet>
<servlet-name>Faces Servlet</servlet-name>
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
<load-on-startup>1</load-on-startup>
</servlet>
<!--Mapping jsf 2.0 -->
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>./faces/*</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.jsf</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.faces</url-pattern>
</servlet-mapping>
<servlet-mapping>
<servlet-name>Faces Servlet</servlet-name>
<url-pattern>*.xhtml</url-pattern>
</servlet-mapping>
<!-- Welcome page -->
<welcome-file-list>
<welcome-file>./faces/test.xhtml</welcome-file>
</welcome-file-list>
</web-app>
**********************************************************************************************************
En el proyecto "modelo" tengo funcionando el spring y en el "UtilIvss" estoy haciendo una clase para intentar levantar el contexto de spring.
si necesitan mas info avisen y de antemano les agradezco cualquier ayuda ya que esto me tiene ya en el abismo de la frustración
Muchísimas Gracias de antemano,
--
Atentamente,
Luis Soto