下面我就为您讲解SpringBoot项目打包发布到外部Tomcat的完整攻略,包括出现各种异常的解决方法。
一、生成war包
- 在pom.xml中添加以下代码,用于生成war包:
<packaging>war</packaging>
- 在pom.xml中添加以下代码,排除掉内嵌的Tomcat插件:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
<exclusions>
<exclusion>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
</exclusion>
</exclusions>
</dependency>
<dependency>
<groupId>javax.servlet</groupId>
<artifactId>javax.servlet-api</artifactId>
<scope>provided</scope>
</dependency>
- 在pom.xml中添加以下代码,以将外部Tomcat作为依赖项:
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-tomcat</artifactId>
<scope>provided</scope>
</dependency>
- 打开Maven工具窗口,找到“Lifecycle”中的“package”,双击执行。生成的war包在target目录下。
二、Tomcat配置
-
将war包放到Tomcat的webapps目录下。
-
配置Tomcat的server.xml文件:
<Context docBase="项目war包名称" path="/自定义路径"/>
- 修改war包的文件名:
把war包的文件名改为 ROOT.war,这样Tomcat会默认将它作为根项目。
三、常见异常及解决方法
- 异常1:
java.lang.IllegalStateException: Tomcat connector in failed state
解决方法:修改application.properties文件,添加以下代码:
server.tomcat.remote-ip-header=x-forwarded-for
server.tomcat.protocol-header=x-forwarded-proto
server.tomcat.shut-down-timeout=3000
server.tomcat.max-http-header-size=1048576
2. 异常2:
java.lang.IllegalArgumentException:Invalid character after /
解决方法:检查项目的Context Path中是否包含特殊字符,如%。
以上就是SpringBoot项目打包发布到外部Tomcat的完整攻略,如果还有其他问题,欢迎提出来。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:SpringBoot项目打包发布到外部tomcat(出现各种异常的解决) - Python技术站