第 1 步:将这个 Spring Boot 项目的打包方式设置为 war。
1
|
<packaging>war</packaging> |
SpringBoot 默认有内嵌的 tomcat 模块,因此,我们要把这一部分排除掉。
即:我们在 spring-boot-starter-web 里面排除了 spring-boot-starter-tomcat ,但是我们为了在本机测试方便,我们还要引入它,所以我们这样写:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
|
<dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-web</artifactId> <exclusions> <exclusion> <artifactId>log4j-over-slf4j</artifactId> <groupId>org.slf4j</groupId> </exclusion> <exclusion> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> </exclusion> </exclusions> </dependency> <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-tomcat</artifactId> <scope>provided</scope> </dependency> |
第 2 步:提供一个 SpringBootServletInitializer 子类,并覆盖它的 configure 方法。
我们可以把应用的主类改为继承 SpringBootServletInitializer。或者另外写一个类。
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
|
@SpringBootApplication public class Application extends SpringBootServletInitializer { /** * 如果要发布到自己的Tomcat中的时候,需要继承SpringBootServletInitializer类,并且增加如下的configure方法。 * 如果不发布到自己的Tomcat中的时候,就无需上述的步骤 */ @Override protected SpringApplicationBuilder configure( SpringApplicationBuilder application) { return application.sources(Application. class ); } public static void main(String[] args) { SpringApplication.run(Application. class , args); } } |
第3步:测试
使用内嵌的Tomcat测试:
进入项目的根目录,输入mvn spring-boot:run,开启项目。
在浏览器中输入
http://localhost:8080/stumybatis/likename?name=m
结果如下:
1
|
[{ "id" : 1 , "name" : "tom" , "sumScore" : null , "avgScore" : null , "age" : 25 }] |
使用发布到自己的Tomcat测试:
先进入项目根目录,执行 mvn package ,将项目打包为war包。
然后将target 目录中的SpringBootTest-0.0.1-SNAPSHOT.war文件复制到你所安装的tomcat目录中webapps目录中。然后去掉工程后边的后缀。
然后开启Tomcat,并在浏览器中输入:http://localhost:8088/SpringBootTest/stumybatis/likename?name=m(我的tomcat的端口修改为了8088)
结果如下:
1
|
[{ "id" : 1 , "name" : "tom" , "sumScore" : null , "avgScore" : null , "age" : 25 }] |
以上所述是小编给大家介绍的Spring Boot 项目发布到 Tomcat 服务器的操作步骤,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对服务器之家网站的支持!