知识站

 找回密码
 立即注册
知识站 首页 java springboot 查看内容

spring boot 如何整合到tomcat 启动

2020-6-23 22:57| 发布者: admin| 查看: 4| 评论: 0

摘要: 一个整合过程,苦苦折磨一天,总算是集成成功,在这里分享给大家,希望大家可以少走弯路。项目为原生:spring boot项目,非动态web项目,打成jar包后 tomcat无法启动。做如下修改:第一步:将SpringBoot项目由默认部 ...
一个整合过程,苦苦折磨一天,总算是集成成功,在这里分享给大家,希望大家可以少走弯路。

项目为原生:spring boot项目,非动态web项目,打成jar包后 tomcat无法启动。

做如下修改:

第一步:将SpringBoot项目由默认部署方式(jar)替换成war形式

(1)设置打包方式为war

    <groupId>com.sun</groupId>

    <artifactId>mydata</artifactId>

    <version>0.0.1-SNAPSHOT</version>

    <!--因为要放入外部的tomcat中,因此更改默认打包方式(jar)为war包-->

    <packaging>war</packaging>

    <name>mydata</name>

    <description>Demo project for Spring Boot</description>


由于SpringBoot项目没有传统的web.xml文件,因此我们需要在缺少web.xml文件的情况下构建war包,需要添加以下配置。

    <plugin>

        <artifactId>maven-war-plugin</artifactId>

        <version>2.6</version>

        <configuration>

        <!--如果想在没有web.xml文件的情况下构建WAR,请设置为false。-->

        <failOnMissingWebXml>false</failOnMissingWebXml>

        </configuration>

    </plugin>


更改项目启动类,将之前的启动类删除,新建启动类,继承SpringBootServletInitializer类,重写configure方法,即将启动类交给Servlet容器进行启动。


package com.sun.mydata;

 

import org.springframework.boot.SpringApplication;

import org.springframework.boot.autoconfigure.SpringBootApplication;

import org.springframework.boot.builder.SpringApplicationBuilder;

import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;

 

 

@SpringBootApplication

public class TMydataApplication extends SpringBootServletInitializer {

 

    public static void main(String[] args) {

        SpringApplication.run(TMydataApplication.class, args);

    }

 

    @Override

    protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {

        return builder.sources(TMydataApplication.class);

    }

}


使用maven package打包项目,拿到war包,部署即可


发表评论

最新评论

Archiver|知识站 ( 鲁ICP备20004068号-1 )

鲁公网安备 37132502371390号

GMT+8, 2020-6-29 22:10 , Processed in 0.016329 second(s), 17 queries .

返回顶部