将WAR部署到tomcat时出现404

Posted

技术标签:

【中文标题】将WAR部署到tomcat时出现404【英文标题】:404 when deploying WAR to tomcat 【发布时间】:2018-03-13 23:15:58 【问题描述】:

我有一个要部署到 Tomcat 的 Spring Boot 应用程序。但是,当我将它部署到 tomcat 并访问 api/users/all 时,我得到了 404。有什么帮助吗?

这是我的 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>

这是我的主要应用程序开始:

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);

我没有 web.xml 和 manifest.mf 文件。据我了解,我不需要,对吧?

提前致谢!

【问题讨论】:

你用什么网址? 我用localhost:8080/api-0.1.0/users/all 找到了!参考这个问题:***.com/questions/39567434/… 【参考方案1】:

将此方法添加到你的Application类中,Application需要扩展SpringBootServletInitializer

@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) 

  return builder.sources(Application.class);

【讨论】:

以上是关于将WAR部署到tomcat时出现404的主要内容,如果未能解决你的问题,请参考以下文章

运行我的 WAR 文件时出现 Tomcat 404 错误

将war文件部署到Tomcat时出现Elastic Beanstalk 502错误

若依vue项目部署步骤,避免刷新时出现404错误

在Tomcat中部署应用程序时出现错误404

部署 SnappyData-0.5 pulse.war 时出现 Bean 缺失错误

将 Spring Boot WAR 部署到 Tomcat 8 - 访问资源时的 HTTP 404