• SpringBoot打war包并配置外部Tomcat运行


    简介

    由于其他原因,我们需要使用SpringBoot打成war包放在外部的Tomcat中运行,本文就以一个案例来说明从SpringBoot打war包到Tomcat配置并运行的全流程经过

    环境

    SpringBoot 2.6.15

    Tomcat 8.5.100

    JDK 1.8.0_281

    Windows

    正文

    一、SpringBoot配置打war包

    第一步:在Application启动入口同级目录下新增一个继承了Servlet初始化器的类,文中是圈红的ServletInitializer

     

    第二步:在使用Maven构建应用程序时要在插件内排除 spring-boot-starter-web 内置的Tomcat依赖

    第三步:显示声明packaging为war

    至此,我们在使用Maven命令打包时即可打出war包

    二、配置Tomcat

    第一步:解决控制台乱码,在以下路径中找到 logging.properties 文件更新

    apache-tomcat-8.5.100\conf

    java.util.logging.ConsoleHandler.encoding = GBK

    说明:因为CMD命令窗口默认的字符集是GBK而Tomcat中的日志配置文件(logging.properties)中的编码是UTF-8,因此当运行startup.bat时,控制台将输出乱码 

    第二步:让Tomcat以指定的JDK运行

    好处是不必安装JDK了,直接复制安装好的JDK到Tomcat中就可以和Tomcat一体了

    1、先将准备好的JDK复制一份到Tomcat文件夹下

    2、打开startup.bat配置JDK

    1. :指定jdk版本,注意=前后不能有空格
    2. set JAVA_HOME=D:\dev\apache-tomcat-8.5.100\jdk1.8.0_281
    3. set JRE_HOME=D:\dev\apache-tomcat-8.5.100\jdk1.8.0_281\jre

     3、配置项目上下文路径(访问项目前缀)

    说明:我们的war包放在了Tomcat的webapps目录下,默认访问项目的路径要加上包名,比如我的war包是vote.war,我访问项目的时候就是 ${ip}:${port}/vote/${requestMapping}

    但,我不想要前缀也可以访问,那就要配置,本文只提供更改server.xml的方式配置

    apache-tomcat-8.5.100\conf

    在上面的路径中找到 server.xml 文件,在Host标签中加入Context标签

    至此,Tomcat也配置好了,下面运行测试

    如果你也想在执行startup.bat时显示我上面那个窗体的配置信息可以直接在startup.bat最下方加入pause即可

    pause;

    2024.06.03补充:如果你发现配置了startup.bat没有起到作用,而是报 

    1. The JRE_HOME environment variable is not defined correctly
    2. JRE_HOME=../jdk1.8.0_281/jre
    3. This environment variable is needed to run this program

    那么你尝试将startup.bat中的配置移入到下图中

    再次启动即可成功 

    成功 

  • 相关阅读:
    “蔚来杯“2022牛客暑期多校训练营9 E题: Longest Increasing Subsequence
    Swagger配置
    【HTML期末学生大作业】 制作一个简单HTML宠物网页(HTML+CSS)
    gradle-3-(configure篇)
    使用vue3搭建后台系统的过程记录
    JAVA 校验图片视频属性
    初步认识机器学习(Machine Leaning)
    外汇天眼:外汇占款是什么意思? 与外汇储备之间的差额是由哪些原因造成的?
    手把手教你安装 Linux Mint系统
    五、回溯(trackback)
  • 原文地址:https://blog.csdn.net/cm777/article/details/139363691