Creo que esta solución parece genial,, entregar al cliente un archivo ejecutable,, y que este solo ejecute el jar, con el tomcat embebido y que este solo tenga que hacer doble click en el ejecutable y listo! Ya tenga su aplicación corriendo en su PC. Es la mejor IDea!!!
Pensá que si no se hace esto, tenemos que instalarle en su PC el servidor Tomcat 7, poner el war,, hacer el deploy,, etc... y si hay que hacer una modificación?? Repetir los pasos,, suena engorroso!!!
Por suerte con la ayuda de Maven y un plugin podemos solucionar esto!! Como??
Usando
tomcat7:exec-war
maven goal. Este toma el WAR artifact y lo empaqueta en conjunto con las dependencias de Tomcat. Por último, también, incluye Tomcat7RunnerCli
Main-class en el manifest.Con ganas de probarlo? Agregar este código en tu proyecto WAR existente y agregarlo en el
pom.xml
:<plugin>
<groupId>org.apache.tomcat.maven</groupId>
<artifactId>tomcat7-maven-plugin</artifactId>
<version>2.0</version>
<executions>
<execution>
<id>tomcat-run</id>
<goals>
<goal>exec-war-only</goal>
</goals>
<phase>package</phase>
<configuration>
<path>/standalone</path>
<enableNaming>false</enableNaming>
<finalName>standalone.jar</finalName>
<charset>utf-8</charset>
</configuration>
</execution>
</executions>
</plugin>
Luego ejecutarmvn package
y al finalizar podrán encontrar el archivostandalone.jar
en el directoriotarget
. Correr una aplicación web nunca fue tan fácil:$ java -jar target/standalone.jar...por último ejecutar en el browser http://localhost:8080/standalone
.
Por ejemplo si queres ejecutar la aplicación en otro puerto debes escribir:$ java -jar standalone.jar -httpPort=7070
Espero que les haya servido, la verdad que a mi me parece BIEN poder hacerentregables de esta manera, ya que cuando instalamos la aplicación en el cliente,, darle un solo archivo .bat o .sh para que lo ejecute es mas confiable que pedirle que instalar el servidor por un lado, deployar el .war y luego hacer el restart del mismo.
No hay comentarios.:
Publicar un comentario