一个整合过程,苦苦折磨一天,总算是集成成功,在这里分享给大家,希望大家可以少走弯路。 项目为原生: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 )
GMT+8, 2020-6-29 22:10 , Processed in 0.016329 second(s), 17 queries .