Desarrollo

Para iniciar el desarrollo de nuestro generador de formatos. Abrimos nuestro eclipse y creamos un proyecto maven.File->New->MavenProject
Login Test
Seleccionamos en Create a simple project y presionamos Next
Login Test
Llenamos los siguientes campos y presionamos Finish: Una vez generado nuestro proyecto maven nos vamos al archivo pom.xml y pegamos el siguiente código esto, para poder compilar con java 1.8.
 
  
              
    <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
           <source>1.8</source>
           <target>1.8</target>
        </configuration>
      </plugin> 
    </plugins>
   </build>
              
              
              
     
   

Ahora vemos que tenemos un problema nos vamos a nuestro proyecto y le damos clic derecho donde dice Maven->Update Project..
Login Test
Nos marcara un error que no encuentra el archivo web.xml pero lo solucionaremos de la siguiente manera, hacemos clic derecho en el proyecto y selecionamos Properties
Login Test
Selecionamos Project Facets en el recuadro seleccionamos Dynamic Web Module 3.1 y Java Server Faces 2.2 y presionamos Apply posterriormente OK
Medical Consulting
Creamos una carpeta en src/main/webapp llamada WEB-INF.Nota:Si tienes eclipse 2019 te genera el archivo web.xml modificalo por el que esta en el código y luego maven->Update Project...
En el directorio WEB-INF creamos el archivo web.xml y escribimos lo siguiente:
 
   
  <?xml version="1.0" encoding="UTF-8"?>
<web-app version="3.1" xmlns="http://xmlns.jcp.org/xml/ns/javaee"
 xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee  http://xmlns.jcp.org/xml/ns/javaee/web-app_3_1.xsd">
<display-name>formatopremio</display-name>
<absolute-ordering />
<!-- load spring configuration -->
	
 <context-param>
  <param-name>javax.faces.PROJECT_STAGE</param-name>
  <param-value>Development</param-value>
 </context-param>
 <context-param>
  <param-name>primefaces.THEME</param-name>
  <param-value>nova-colored</param-value>
 </context-param>
 
 <servlet>
  <servlet-name>Faces Servlet</servlet-name>
  <servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
  <load-on-startup>1</load-on-startup>
 </servlet>
 <servlet-mapping>
  <servlet-name>Faces Servlet</servlet-name>
  <url-pattern>/faces/*</url-pattern>
 </servlet-mapping>
 <filter>
 <filter-name>Primefaces Upload Filter</filter-name>
 <filter-class>org.primefaces.webapp.filter.FileUploadFilter</filter-class>
 <init-param>
 <param-name>thresholdSize</param-name>
 <param-value>51200000</param-value>
 </init-param>
 </filter>
 <filter-mapping>
 <filter-name>Primefaces Upload Filter</filter-name>
 <servlet-name>Faces Servlet</servlet-name>
 </filter-mapping>
 <session-config>
  <session-timeout>30</session-timeout>
 </session-config>
 <welcome-file-list>
  <welcome-file>faces/index.xhtml</welcome-file>
 </welcome-file-list>
</web-app>     
  
  
  
      
   

Ahora creamos todas las dependencias en nuestro archivo pom.xml queda de la siguiente forma:
 
       
          <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/xsd/maven-4.0.0.xsd">
  <modelVersion>4.0.0</modelVersion>
  <groupId>com.tutosoftware.formatopremio</groupId>
  <artifactId>formatopremio</artifactId>
  <version>0.0.1-SNAPSHOT</version>
  <packaging>war</packaging>
  <name>Formato Premio</name>
  
   <repositories>
   <repository>
        <id>prime-repo</id>
        <name>PrimeFaces Maven Repository</name>
        <url>http://repository.primefaces.org/</url>
        <layout>default</layout>
    </repository>
</repositories>
   <properties>
        
        <primefacestheme.version>1.0.10</primefacestheme.version>
		<primefaces.version>7.0</primefaces.version>
		
		<jsf2.version>2.2.10</jsf2.version>
		
		<jstl.version>1.2</jstl.version>
		<jsp-api.version>2.1</jsp-api.version>
		<servlet-api.version>3.1.0</servlet-api.version>
		
		<itextpdf.version>5.5.13</itextpdf.version>
		<poi.version>3.17</poi.version>
		<elri.version>1.0</elri.version>
		<javaeewebapi.version>7.0</javaeewebapi.version>
	</properties>
    <dependencies>
    <dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-api</artifactId>
			<version>${jsf2.version}</version>
		</dependency>
		<dependency>
			<groupId>com.sun.faces</groupId>
			<artifactId>jsf-impl</artifactId>
			<version>${jsf2.version}</version>
		</dependency>
    
    <!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
    <groupId>commons-io</groupId>
    <artifactId>commons-io</artifactId>
    <version>2.8.0</version>
</dependency>
    
    <dependency>
    <groupId>commons-fileupload</groupId>
    <artifactId>commons-fileupload</artifactId>
    <version>1.4</version>
</dependency>
    
    
    
    
    
    <dependency>
				<groupId>javax.servlet.jsp</groupId>
				<artifactId>jsp-api</artifactId>
				<version>${jsp-api.version}</version>
				<scope>provided</scope>
			</dependency>
			
			
         <dependency>
	     <groupId>javax.servlet</groupId>
	    <artifactId>javax.servlet-api</artifactId>
	   <version>${servlet-api.version}</version>
	   <scope>provided</scope>
        </dependency>
			
			
			
			<dependency>
				<groupId>javax.servlet</groupId>
				<artifactId>jstl</artifactId>
				<version>${jstl.version}</version>
			</dependency>
		
     <dependency>
			<groupId>com.sun.el</groupId>
			<artifactId>el-ri</artifactId>
			<version>${elri.version}</version>
		</dependency>
		<dependency>
			<groupId>javax</groupId>
			<artifactId>javaee-web-api</artifactId>
			<version>${javaeewebapi.version}</version>
			<scope>provided</scope>
		</dependency>
  
  

  <dependency>
    <groupId>org.primefaces</groupId>
    <artifactId>primefaces</artifactId>
    <version>${primefaces.version}</version>
     </dependency>
     
     <dependency>
    <groupId>org.primefaces.themes</groupId>
    <artifactId>all-themes</artifactId>
    <version>${primefacestheme.version}</version>
</dependency>
  
  
   <dependency>
           <groupId>com.itextpdf</groupId>
           <artifactId>itextpdf</artifactId>
          <version>${itextpdf.version}</version>
         </dependency>	
     
   <!-- https://mvnrepository.com/artifact/org.apache.poi/poi -->
<dependency>
    <groupId>org.apache.poi</groupId>
    <artifactId>poi</artifactId>
    <version>${poi.version}</version>
</dependency>
    
    
     
    </dependencies>
  
  
  <build>
    <plugins>
      <plugin>
        <artifactId>maven-compiler-plugin</artifactId>
        <version>3.3</version>
        <configuration>
           <source>1.8</source>
           <target>1.8</target>
        </configuration>
      </plugin> 
    </plugins>
   </build>
  
  
  

  
  
  
</project>