Spring Boot Crear archivo war
Como vimos en el tutorial Introducción a Spring Boot la aplicaciones web creadas con este framework son empaquetadas en una archivo jar el cual incluye un servidor integrado que nos permite ejecutar una aplicación web con el comando java -jar spring-boot-app.jar, si en determinado caso deseamos instalar nuestra aplicación en un servidor externo deberemos empaquetar nuestra aplicación en un archivo war, en este curso veremos los cambios que debemos hacer para empaquetar una aplicación web Spring Boot en un archivo war.
Para este tutorial usaremos la aplicación creada en el curso anterior introducción a la creación de aplicaciones web con Spring Boot, modificaremos la misma, para generar el archivo war correspondiente.
Lo primero que debemos cambiar es el archivo pom.xml
, mas específicamente la etiqueta packaging, debe quedar del siguiente modo:
<packaging>war</packaging>
Lo segundo que debemos hacer es configurar la dependencia del servidor integrado como provided, como estamos usando el servidor por defecto, Apache Tomcat, la dependencia debe quedar así:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
Para finalizar debemos indicar como se inicia nuestra aplicación web, normalmente utilizamos el archivo web.xml
para esta tarea, Spring Boot nos facilita el trabajo con la clase base SpringBootServletInitializer
que extenderemos y sobre-escribiremos el método configure(SpringApplicationBuilder app)
aquí indicaremos cual es la clase que configurar el Servlet de nuestra aplicación.
public class SpringBootWebInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(IntroduccionApplication.class);
}
}
El método main(String[] args)
de la clase IntroduccionApplication
ya no será usado como punto de inicio si la aplicación web se empaqueta en un archivo war.
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
@SpringBootApplication
public class IntroduccionApplication {
public static void main(String[] args) {
SpringApplication.run(IntroduccionApplication.class, args);
}
}
Sí quitamos el método main(String[] args)
debemos también remover el maven plugin spring-boot-maven-plugin del archivo pom.xml
para evitar errores.
En Netbeans 8.x podemos ejecutar la aplicación haciendo clic derecho sobre el proyecto y seleccionado la opción Run.
Seleccionamos el servidor, esperamos a que termine el despliegue.
Si todo está correcto, veremos nuestra aplicación en el navegador.
El archivo /META-INF/context.xml puede modificar la ruta con la que accedemos a la aplicación, para utilizar las mismas URL que usamos en una aplicación jar debemos modificar este archivo, especialmente el atributo path.
<?xml version="1.0" encoding="UTF-8"?>
<Context antiJARLocking="true" path="/"/>
Por ejemplo si path="springbootapp"
deberemos usar la siguiente URL
El archivo war se almacena en la carpeta target del proyecto, en nuestro caso este archivo se llamará introduccion/target/introduccion-0.0.1-SNAPSHOT.war.
- Más tutoriales: Serie Spring Boot
Comentarios
Publicar un comentario