最近在把自己写的demo部署到服务器,因为公司的服务部署平台都是使用tomcat,所以做了笔记,记录下自己的踩坑过程。
打包分类:
- jar
- war
1.打包jar
1.1 pom文件修改
1 | <packaging>jar</packaging> |
1.2 maven打包
1 | clean |
2.打包war
2.1 修改pom文件
1 | <packaging>war</packaging> |
2.2 修改Application类
主要是找到入口类
1 |
|
2.3 maven打包
1 | clean |
3.踩坑
主要是打war包
3.1 context-path不生效
如果你application.properties包括:
springboot 2.x server.servlet.context-path=/api
springboot 1.x server.context-path=/api
那pom文件加入1
2
3
4
5
6
7
8
9<build>
<finalName>api</finalName>
<plugins>
<plugin>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-maven-plugin</artifactId>
</plugin>
</plugins>
</build>
原因:因为打成war包,会屏蔽context-path。
3.2 tomcat启动,报错Failed to start component
原因:由于我引入了其他slf4j低版本包,与springboot的logback冲突,因此启动不了。
解决:修改pom文件1
2
3
4
5
6
7
8
9
10
11
12<dependencies>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>ch.qos.logback</groupId>
<artifactId>logback-classic</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>