404 when deploying WAR to tomcat

I have a spring boot application which I want to deploy to Tomcat. However, when I deploy it to tomcat and I access api/users/all I get a 404. Any help?

This is my pom:

<?xml version="1.0" encoding="UTF-8"?>

http://maven.apache.org/xsd/maven-4.0.0.xsd"> 4.0.0

<groupId>be.pxl</groupId>
<artifactId>api</artifactId>
<version>0.1.0</version>

<parent>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-parent</artifactId>
    <version>1.4.1.RELEASE</version>
</parent>

<packaging>war</packaging>

<properties>
    <java.version>1.8</java.version>
    <start-class>be.pxl.mdev.Application</start-class>
</properties>

<dependencies>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-tomcat</artifactId>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-data-jpa</artifactId>
    </dependency>
    <dependency>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-web</artifactId>
    </dependency>
    <dependency>
        <groupId>mysql</groupId>
        <artifactId>mysql-connector-java</artifactId>
        <version>5.1.36</version>
    </dependency>
</dependencies>

<build>
    <plugins>
        <plugin>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-maven-plugin</artifactId>
        </plugin>
    </plugins>
</build>

This is my main application start:

package be.pxl.mdev;

import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class Application {

public static void main (String[] args) {
    SpringApplication.run(Application.class, args);
}

}

I don't have a web.xml nor a manifest.mf file. As far as I understand, I don't need one, right?

Thanks in advance!

Upvotes: 0

Views: 698

Answers (1)

erman olca
erman olca

Reputation: 11

Add this method to your Application class, Application needs to extend SpringBootServletInitializer

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) 
{
  return builder.sources(Application.class);
}

Upvotes: 1

Related Questions