1
resposta

Erro 404 noTomcat

Boa tarde,

Eu estou desenvolvendo uma aplicação usando Springboot e eu gostaria de colocar ela pra rodar em um servidor Tomcat. No Eclipse ela está funcionando normalmente e quando eu exporto pra um FatJar ela também executa normal, porém quando eu tento exportar ela como war e coloco na pasta WEBAPP do tomcat fica só dando erro 404.Já fiz as alterações no POM colocando o tomcat como provided e alterei a classe principal para extender SpringBootServletInitializer e sobrescrevi o método configure e mesmo assim não está funcionado. Alguém pode me dar uma luz do que pode estar acontecendo?

1 resposta

Primeiro, precisamos empacotar um aplicativo WAR em vez de um JAR. Para isso, vamos alterar pom.xml com o seguinte conteúdo:

<packaging>war</packaging>

Em seguida, modificaremos o nome do arquivo WAR final para evitar a inclusão de números de versão:

<build>
    <finalName>${artifactId}</finalName>
    ... 
</build>

Em seguida, adicionaremos a dependência do Tomcat:

<dependency>
   <groupId>org.springframework.boot</groupId>
   <artifactId>spring-boot-starter-tomcat</artifactId>
   <scope>provided</scope>
</dependency>

Por fim, inicializaremos o contexto do Servlet exigido pelo Tomcat implementando a interface SpringBootServletInitializer :

@SpringBootApplication
public class SpringBootTomcatApplication extends SpringBootServletInitializer {
}

Para construir nosso aplicativo WAR implementável pelo Tomcat, executaremos o pacote mvn clean. Depois disso, nosso arquivo WAR é gerado em target/spring-boot-deployment.war assumindo que o Maven artisanId é “spring-boot-deployment”"