1.修改build.gradle文件,添加依赖
apply plugin: 'war'
war{
baseName= 'test'
version= '0.1-SNAPSHOT'
}
2.添加对SpringBootServletInitializer的支持,即创建一个类来继承它,并重写configure方法:
public class MyServletInitializer extends SpringBootServletInitializer {
@Override
protected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {
return builder.sources(ApplicationRunMain.class);//这里的这个类就是启动spring boot的那个运行类
}
}
3.进入项目目录下,在命令行执行gradle build
4.如果没有出错的,就会在build/libs生成一个test-0.1-SNAPSHOT.war的文件
5.把这个war包复制到TOMCAT下面的webapps文件夹里,启动TOMCAT。
说一下我当时遇到的一些问题:
项目前台是使用的thymeleaf,在定义a标签的href或者其他使用url地方出现了问题。
我当时都是th:href="|/test/1|",这样定义的,之前直接运行时spring boot启动类不会出现问题,它直接请求的就是http://localhost:8080/test/1. 而现在将项目部署到TOMCAT下,它请求的URL就会变成http://localhost:88/test-0.1-SNAPSHOT/test/1(我的tomcat端口是88),所以前台thymeleaf定义的href值就会有问题,使用th:href="@{|/test/1|}",这样让spring来处理,就不会有问题了。