美文网首页我爱编程
springboot打包war部署到tomcat接口404

springboot打包war部署到tomcat接口404

作者: 游泳的星尘龙 | 来源:发表于2018-04-02 21:36 被阅读0次

原文:https://blog.csdn.net/u013305783/article/details/74454966

主要的就是下面这个,重写configure。可以不用新建类直接在Application里面写

接着是新建一个ServletInitializer 并且集成自SpringBootServletInitializer 代码如下

@SpringBootApplication
public class Application extends SpringBootServletInitializer {

    public static void main(String[] args) {
        SpringApplication.run(Application.class, args);
    }
    // 不重写打包war部署到tomcat接口会报404
    @Override
    protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
        return application.sources(Application.class);
    }
}

特别注意其中的Application要与我们自己建立的Application名称一样。

如果要放在其他tomcat上的话pom.xml需要加入:


<!-- 打war包时加入此项, 告诉spring-boot tomcat相关jar包用外部的,不要打进去 -->

<dependency>

    <groupId>org.springframework.boot</groupId>

    <artifactId>spring-boot-starter-tomcat</artifactId>

    <scope>provided</scope><!--由JDK或者容器提供-->

</dependency>

至于为什么要继承重写目前找到的说法如下:(具体还是要自己了解一下SpringBootServletInitializer)

这里继承SpringBootServletInitializer 并重写其中的configure方法目的是使用Spring框架的Servlet3.0支持。并且允许我们可以配置项目从serclet容器中启动。

SpringBootServletInitializer的执行过程,简单来说就是通过SpringApplicationBuilder构建并封装SpringApplication对象,并最终调用SpringApplication的run方法的过程。

具体还是要自己了解一下SpringBootServletInitializer。这里我就不做过多说明,目前还有那么大心思去了解运行原理等东西。

不过推荐一个搜到的连接。感觉应该讲的挺清楚的。以后再慢慢看:

https://www.jianshu.com/p/cb5cb5937686

相关文章

网友评论

    本文标题:springboot打包war部署到tomcat接口404

    本文链接:https://www.haomeiwen.com/subject/qhcfhftx.html