sábado, 21 de octubre de 2017

Usando Jetty con IntelliJ Community para apliaciones web.

1.  Configurando Jetty runner. Jetty runner es un plug in muy util para correr nuestras aplicaciones web, en la version enterprise edition este plug in no es necesario ya que esa version nos permite hacer mucho mas cosas que la version community edition como por ejemplo usar tomcat.

Para configurar jetty nos vamos a la opcion para descargar plugins, tecleamos Ctrl-Alt-S.
En la opcion plug in nos vamos a la seccion de busqueda y tecleamos Jetty. Se instala el plug in y listo.


Ahora para correr Jetty necesitamos configurarlo primero, nos vamos a "Edit configurations"
Presionamos en + y agregamos una configuracion para jetty.  Sugerimos un path relativo para el projecto, y la ubicacion del webapp folder y del folder classes.

Y listo con esto un servidor de aplicaciones correra en el puerto 8080.

Ahora importante, dadas las restricciones en la comunity edition, no se podra compilar automaticamente un JSP desde IntelliJ. Por desgracia tenemos que indicar a maven que haga la compilacion utilizando el compilador de JSP de tomcat  y agregar directivas para que Jetty haga la compilacion cuando se ejecute el jsp. Para eso agregamos las siguientes dependencias al archivo pom y el siguiente plugin:


    <!-- https://mvnrepository.com/artifact/tomcat/jasper-compiler -->
      <dependency>
          <groupId>tomcat</groupId>
          <artifactId>jasper-compiler</artifactId>
          <version>5.5.23</version>
      </dependency>

      <!-- https://mvnrepository.com/artifact/tomcat/jasper-compiler-jdt -->
      <dependency>
          <groupId>tomcat</groupId>
          <artifactId>jasper-compiler-jdt</artifactId>
          <version>5.5.23</version>
      </dependency>

      <!-- https://mvnrepository.com/artifact/tomcat/jasper-runtime -->
      <dependency>
          <groupId>tomcat</groupId>
          <artifactId>jasper-runtime</artifactId>
          <version>5.5.23</version>
      </dependency>

 <!-- https://mvnrepository.com/artifact/org.eclipse.jetty/jetty-jspc-maven-plugin -->
    <dependency>
      <groupId>org.eclipse.jetty</groupId>
      <artifactId>jetty-jspc-maven-plugin</artifactId>
      <version>9.4.7.v20170914</version>
    </dependency>

<plugins>
          <!-- begin - precompiling jsps -->
          <plugin>
              <groupId>org.codehaus.mojo</groupId>
              <artifactId>jspc-maven-plugin</artifactId>
              <executions>
                  <execution>
                      <id>jspc</id>
                      <goals>
                          <goal>compile</goal>
                      </goals>
                  </execution>
              </executions>
          </plugin>
      </plugins>

No hay comentarios:

Publicar un comentario