sexta-feira, 30 de setembro de 2016

Deploy de Aplicação Spring-Boot usando o Eclipse

Na continuidade dos posts anteriores (http://toxinavirtual.blogspot.com.br/2016/09/crud-com-rest-spring-boot-e-jpa.html), vamos agora fazer agora o deploy da aplicação. O primeiro deploy que eu realizei com o Spring-Boot falhou a chamada dentro do sevidor. Ao consultar o manual existe a explicação de que a classe principal precisa ser extendida para SpringBootServletInitializer para que a chamada seja realizada. Em uma aplicação .jar de dispositivos móveis não é necessário, mas estamos falando de um arquivo .war. O próprio manual esclarece que para alguns tipos de aplicações, como JSP, o ideal é o deploy em .war.

Inicialmente a classe que temos é a seguinte:

  1. package com.example;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5.  
  6. @SpringBootApplication
  7. public class DemoApplication {
  8.  
  9.     public static void main(String[] args) {
  10.         SpringApplication.run(DemoApplication.class, args);
  11.     }
  12. }



Ao extendermos SpringBootServletInitializer a classe principal fica da seguinte forma:

  1. package com.example;
  2.  
  3. import org.springframework.boot.SpringApplication;
  4. import org.springframework.boot.autoconfigure.SpringBootApplication;
  5. import org.springframework.boot.builder.SpringApplicationBuilder;
  6. import org.springframework.boot.web.support.SpringBootServletInitializer;
  7.  
  8.  
  9.  
  10. @SpringBootApplication
  11. public class DemoApplication extends SpringBootServletInitializer {
  12.  
  13.     @Override
  14.     protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
  15.         return application.sources(DemoApplication.class);
  16.     }
  17.  
  18.     public static void main(String[] args) throws Exception {
  19.         SpringApplication.run(DemoApplication.class, args);
  20.     }

  21.    
  22. }


O manual recomenda alterar o pom.xml também, de jar para war.


  1.    <packaging>war</packaging>



Feito isso, selecione o projeto com o botão direito Export...>>Web>>WAR File e salve o arquivo em algum diretório para repassar para o diretorio webapps do Tomcat. Não esqueça de parar e reiniciar o Tomcat.


O deploy segundo o manual pode ser realizado utilizando também o Maven, Gradle ou Ant.



referencias:
http://docs.spring.io/spring-boot/docs/current/reference/html/howto-traditional-deployment.html

https://spring.io/blog/2014/03/07/deploying-spring-boot-applications




Nenhum comentário:

Postar um comentário