将Spring Boot Web应用部署到Tomcat服务器
部署的目标平台
操作系统 Windows 10,Ubuntu Linux 18.04.5
JDK版本 Open JDK 16
Tomcat版本 Tomcat 10.0.12,Tomcat 10.0.13
Spring Boot版本 2.5.6
Maven项目文件(pom.xml)的配置
请特别注意下面文件中的注释内容。
1 <project ......>
2
3 .......
4
5 <parent>
6 <groupId>org.springframework.boot</groupId>
7 <artifactId>spring-boot-starter-parent</artifactId>
8 <version>2.5.6</version>
9 <relativePath/>
10 </parent>
11
12 <properties>
13 <!-- 此处的版本号不应高于系统中JDK的版本 -->
14 <java.version>11</java.version>
15 </properties>
16
17 <!-- 要部署到外部Tomcat服务器,此处必须为war -->
18 <packaging>war</packaging>
19
20 <dependencies>
21 <dependency>
22 <groupId>org.springframework.boot</groupId>
23 <artifactId>spring-boot-starter-web</artifactId>
24 <exclusions>
25 <!-- 在部署到外部Tomcat时,要排除使用Spring Boot内置的Tomcat -->
26 <exclusion>
27 <groupId>org.springframework.boot</groupId>
28 <artifactId>spring-boot-starter-tomcat</artifactId>
29 </exclusion>
30 </exclusions>
31 </dependency>
32
33 ......
34
35 </dependencies>
36
37 <build>
38 <!-- 此处可以对生成的war包进行重命名,比如下面的名字设置将会生成messagepub.war文件 -->
39 <finalName>messagepub</finalName>
40 <plugins>
41 <plugin>
42 <groupId>org.springframework.boot</groupId>
43 <artifactId>spring-boot-maven-plugin</artifactId>
44 </plugin>
45 </plugins>
46 </build>
47
48 </project>
扩展SpringBootServletInitializer并重写configure方法
构建
以上两步(将pom文件设置好,并重写了SpringBootServletInitializer.configure方法)之后,就可以构建了。
在Eclipse中右键点击项目,然后在弹出菜单里,选择Run As ==> maven build,Goals设置为clean package。如果不用Eclipse构建,那么在项目根目录下运行相应的maven命令行工具也可以。
构建完成后,会在{{项目根目录}}/target目录下生成可部署的的war包。
部署到Tomcat
构建生成war包之后,就可以部署到Tomcat了。具体步骤如下:
- 在Tomcat的跟目录下新建一个名为webapps-javaee的文件夹;
- 将上一步构建生成的war包文件拷贝到这个新建的webapps-javaee目录下,如下图;
- 重启Tomcat服务器,然后就可以通过浏览器访问刚部署的应用了。
参考链接
Deploy a Spring Boot REST App as a WAR to Tomcat 10 - Apps Developer Blog

浙公网安备 33010602011771号