springboot3打包成war包,用tomcat8启动

2024-09-09 17:20

本文主要是介绍springboot3打包成war包,用tomcat8启动,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

1、在pom中,将打包类型改为war

<packaging>war</packaging>

2、pom中排除SpringBoot内置的Tomcat容器并添加Tomcat依赖,用于编译和测试,

        *依赖时一定设置 scope 为 provided (相当于 tomcat 依赖只在本地运行和测试的时候有效,

        打包的时候会排除这个依赖)<scope>provided</scope>

		//在exclusions排除自带的tomcat		<exclusion><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId></exclusion>//导入新的tomcat<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-tomcat</artifactId><scope>provided</scope></dependency>

3、pom中添加项目名称,war 包的名称决定了你访问项目 url 的前缀,这个不要忘记(如果不想要前缀,可以将 war 包命名为 ROOT),和java配置文件中 context-path: /api 路劲保持一致

	<build><finalName>api</finalName></build>

4、在tomcat配置conf中 server.xml文件,修改端口,建议和 配置文件中 port: 8180保持一致,这样启动tomcat和本地启动请求是一样的。

  <Connector URIEncoding="UTF-8" port="8180" protocol="HTTP/1.1"connectionTimeout="20000"redirectPort="8443"maxParameterCount="1000"/>

5、将tomcat指定jdk版本,在tomcat启动文件setclasspath.bat中,linux中setclasspath.sh,添加下面配置

setlocal
set JAVA_HOME=G:\java\jdk17
set JRE_HOME=G:\java\jdk17

6、修改tomcat启动窗口名称,服务器启动多个tomcat,为了区分项目,加上名称,

在catalina.bat文件中,修改启动文件名问 Tomcat-newmemp,如下


:doStart
shift
if "%TITLE%" == "" set TITLE=Tomcat-newmemp

7、工程打成war需要入口类继承SpringBootServletInitializer类并重写SpringApplicationBuilder 方法,或者可以使用原来的

package com.example.mzprogrambackend;import org.mybatis.spring.annotation.MapperScan;
import org.springframework.boot.SpringApplication;
import org.springframework.boot.autoconfigure.SpringBootApplication;
import org.springframework.boot.builder.SpringApplicationBuilder;
import org.springframework.boot.web.servlet.support.SpringBootServletInitializer;@SpringBootApplication
@MapperScan("com.example.mzprogrambackend.mapper")
public class ApiMprogramApplication extends SpringBootServletInitializer {/*** 工程打成war需要继承SpringBootServletInitializer,重写SpringApplicationBuilder 方法*/@Overrideprotected SpringApplicationBuilder configure(SpringApplicationBuilder builder) {return builder.sources(ApiMprogramApplication.class);}public static void main(String[] args) {SpringApplication.run(ApiMprogramApplication.class, args);}}

8、如果要引用外部配置文件,参考Tomcat读取war包外配置文件_tomcat读取外部配置文件-CSDN博客

这篇关于springboot3打包成war包,用tomcat8启动的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/1151790

相关文章

Vite 打包目录结构自定义配置小结

《Vite打包目录结构自定义配置小结》在Vite工程开发中,默认打包后的dist目录资源常集中在asset目录下,不利于资源管理,本文基于Rollup配置原理,本文就来介绍一下通过Vite配置自定义... 目录一、实现原理二、具体配置步骤1. 基础配置文件2. 配置说明(1)js 资源分离(2)非 JS 资

SpringBoot通过main方法启动web项目实践

《SpringBoot通过main方法启动web项目实践》SpringBoot通过SpringApplication.run()启动Web项目,自动推断应用类型,加载初始化器与监听器,配置Spring... 目录1. 启动入口:SpringApplication.run()2. SpringApplicat

解决Nginx启动报错Job for nginx.service failed because the control process exited with error code问题

《解决Nginx启动报错Jobfornginx.servicefailedbecausethecontrolprocessexitedwitherrorcode问题》Nginx启... 目录一、报错如下二、解决原因三、解决方式总结一、报错如下Job for nginx.service failed bec

SpringBoot3匹配Mybatis3的错误与解决方案

《SpringBoot3匹配Mybatis3的错误与解决方案》文章指出SpringBoot3与MyBatis3兼容性问题,因未更新MyBatis-Plus依赖至SpringBoot3专用坐标,导致类冲... 目录SpringBoot3匹配MyBATis3的错误与解决mybatis在SpringBoot3如果

Spring Boot项目如何使用外部application.yml配置文件启动JAR包

《SpringBoot项目如何使用外部application.yml配置文件启动JAR包》文章介绍了SpringBoot项目通过指定外部application.yml配置文件启动JAR包的方法,包括... 目录Spring Boot项目中使用外部application.yml配置文件启动JAR包一、基本原理

解决若依微服务框架启动报错的问题

《解决若依微服务框架启动报错的问题》Invalidboundstatement错误通常由MyBatis映射文件未正确加载或Nacos配置未读取导致,需检查XML的namespace与方法ID是否匹配,... 目录ruoyi-system模块报错报错详情nacos文件目录总结ruoyi-systnGLNYpe

解决hive启动时java.net.ConnectException:拒绝连接的问题

《解决hive启动时java.net.ConnectException:拒绝连接的问题》Hadoop集群连接被拒,需检查集群是否启动、关闭防火墙/SELinux、确认安全模式退出,若问题仍存,查看日志... 目录错误发生原因解决方式1.关闭防火墙2.关闭selinux3.启动集群4.检查集群是否正常启动5.

idea Maven Springboot多模块项目打包时90%的问题及解决方案

《ideaMavenSpringboot多模块项目打包时90%的问题及解决方案》:本文主要介绍ideaMavenSpringboot多模块项目打包时90%的问题及解决方案,具有很好的参考价值,... 目录1. 前言2. 问题3. 解决办法4. jar 包冲突总结1. 前言之所以写这篇文章是因为在使用Mav

Springboot项目启动失败提示找不到dao类的解决

《Springboot项目启动失败提示找不到dao类的解决》SpringBoot启动失败,因ProductServiceImpl未正确注入ProductDao,原因:Dao未注册为Bean,解决:在启... 目录错误描述原因解决方法总结***************************APPLICA编

kkFileView启动报错:报错2003端口占用的问题及解决

《kkFileView启动报错:报错2003端口占用的问题及解决》kkFileView启动报错因office组件2003端口未关闭,解决:查杀占用端口的进程,终止Java进程,使用shutdown.s... 目录原因解决总结kkFileViewjavascript启动报错启动office组件失败,请检查of