第一步
在pom.xml文件中添加
<packaging>war</packaging>
标签。如图:
第二步
在pom.xml文件中添加依赖
<!-- 打war包时加入此项,通知spring-boot tomcat相关jar包使用外部Tomcat,不需要打包进去 -->
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope><!--由JDK或者容器提供-->
</dependency>
第三步
在启动类中继承 SpringBootServletInitializer 如图:
@SpringBootApplication
public class WechatUserApplication extends SpringBootServletInitializer {
// 重写 configure方法,如果不重写打包war部署到tomcat接口会报404
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder application) {
return application.sources(WechatUserApplication.class);
}
public static void main(String[] args) {
SpringApplication.run(WechatUserApplication.class, args);
}
}
第四步
直接使用Maven Projects 中的package 进行打包编译如图:
- maven projects 在工具栏右侧。
- 找到需要编译的项目
- 首先清除之前所编译文件
- 进行项目打包
第五步
双击package后工具栏下侧会出现编译信息,并且找到编译完成的war文件,把文件复制到tomcat的webapps中,如图:
第六步
启动Tomcat中出现Spring的标志性LOGO,并且没有报错,说明启动成功。
重点
在html中请求接口时需要加上项目名称,也就是打包完成的war文件名称,否则将报错404
——————————————————————————— 华丽的分割线 ———————————————————————————
自述
- 本人使用的是IDEA开发工具。
- 本人菜鸟刚入门,有写的不好地方请大神别喷。
- 有些坑自己踩踩是非常有意思的,比如以下几点
- 不需要添加以下依赖
<!-- Servlet 依赖 -->
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<version>3.1.0</version>
<scope>provided</scope>
</dependency>
<dependency>
<groupId>org.apache.tomcat</groupId>
<artifactId>tomcat-servlet-api</artifactId>
<version>8.0.36</version>
<scope>provided</scope>
</dependency>
- 不需要另写Application去继承SpringBootServletInitializer 直接在启动类继承SpringBootServletInitializer 就行。