一篇文章彻底解决Win10系统下同时部署多个版本的Tomcat

 更新时间:2025年08月28日 09:27:20   作者:lingggggaaaa  
在Windows系统上部署Tomcat服务器是一个相对简单的过程,这篇文章主要介绍了Win10系统下同时部署多个版本Tomcat的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下

前言

最近在学习JavaWeb的时候,想安装新版本的Tomcat11,又不想把之前安装过的Tomcat9卸掉,于是就在想能不能同时安装两个版本的Tomcat兼容一下

所以就有了今天的这篇文章,教会你们如何搭建多个版本的Tomcat服务器

演示的环境是Windows10,安装的版本为Tomcat11,所用到的Java版本为jdk17

注意,这里下载的都是zip压缩包,不要下载安装程序!,避免环境冲突

所用到的文件夹

Tomcat11 文件夹D:\Tomcat11

Tomcatbin目录:

Tomcatconf目录:

Jdk 17目录D:\JAVA\jdk17

Tomcat服务端口修改

  • 由于之前已经安装过了Tomcat9,这里为了避免冲突,需要先将启动和关闭的端口修改一下
  • conf目录下的server.xml文件中,修改如下代码:
<!-- 将port 8005修改为8015 -->
<Server port="8015" shutdown="SHUTDOWN">
  <Listener className="org.apache.catalina.startup.VersionLoggerListener" />
<!-- 将port 8080修改为8081 -->
<Connector port="8081" protocol="HTTP/1.1"
           connectionTimeout="20000"
           redirectPort="8443" />
  • 这里可以修改为任意端口,只要保证不冲突就行,然后保存文件

Tomcat参数修改

  • 这里Tomcat9Tomcat11用的jdk版本不同,所以避免冲突,我们需要替换一下环境变量
  • 打开bin目录,对所有.bat文件,替换如下字段,只要与之前的区别开就行
    1. CATALINA_HOME --> CATALINA11_HOME
    2. CATALINA_BASE --> CATALINA11_BASE
    3. CATALINA_TIMDIR --> CATALINA11_TIMDIR
    4. JRE_HOME --> JRE11_HOME
    5. JAVA_HOME --> JAVA11_HOME

环境变量配置

  • 然后我们Win + R输入sysdm.cpl配置环境变量
  • 第一个地方是系统变量这里,添加如下内容(根据自己的实际安装路径更改):
CATALINA11_BASE  : D:\Tomcat11
CATALINA11_HOME : D:\Tomcat11
CATALINA11_TIMDIR : D:\Tomcat11\temp
JAVA11_HOME : D:\JAVA\jdk17

  • 然后找到Path,双击进行编辑,添加JDK的环境D:\JAVA\jdk17\bin或者%JAVA11_HOME%\bin

  • 注意,这里尽量设置在其他Java版本的前面,避免系统解析旧的Java版本

验证环境是否配置成功

  • 使用java -version命令验证Java环境是否修改成功:

  • 如果仍然是其他版本的Java版本,可以重新打开一个终端再尝试一遍
  • 或者输入echo %JAVA11_HOME%看一看环境是否生效
  • 在终端下打开Tomcat文件夹,输入命令.\catalina.bat run运行起来,到这里应该是没有报错信息的:

  • 如果显示上面这个页面就说明Tomcat启动成功了,我们访问http://localhost:8081即可:

  • 之后再启动Tomcat就直接双击startup.bat文件即可
  • 这里同时启动两个版本的Tomcat都是没问题的

可能遇到的问题

问题一:startup.bat闪退

  • 如果直接启动startup.bat发生闪退,可以在命令行中启动看报错原因,一般都是端口占用环境配置错误或者文件损坏
  • 解决方法:
    • netstat -ano | findstr "8080"查看端口(看自己配置文件中的端口)是否被占用,如果被占用,在资源管理器中搜索相应的PID,结束进程即可
    • 如果是环境配置错误,就重新配置环境
    • 文件如果损坏,重新下载复制损坏文件即可

问题二:startup.bat成功启动,但仍打不开服务器

  • 如果在命令行中启动startup.bat,这里它会启动两个黑窗口,如果成功启动第一个,但是第二个黑窗口闪退,如下:

  • 只能看到这个页面的话,说明可能是端口被占用,或者一些配置上的问题,比如系统仍然没有识别到正确的JDK版本等等
  • 我们可以在命令行中输入.\catalina.bat run去看一看报错信息,我这里遇到过两个问题:
  1. 第一个问题是:
PS D:\Tomcat11\bin> .\catalina.bat run
Using CATALINA11_BASE:   "D:\Tomcat11"
Using CATALINA11_HOME:   "D:\Tomcat11"
Using CATALINA11_TMPDIR: "D:\Tomcat11\temp"
Using JRE11_HOME:        "D:\JAVA\jdk11"
Using CLASSPATH:       "D:\Tomcat11\bin\bootstrap.jar;D:\Tomcat11\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
Unrecognized option: --enable-native-access=ALL-UNNAMED
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
  • 这个错误提示 “Unrecognized option: --enable-native-access=ALL-UNNAMED” 表明 Tomcat 启动时尝试使用的 JVM 参数与你当前的 JDK 版本不兼容,这通常是由于 JDK 版本识别错误 导致的。
  • 可以在Tomcatcatalina.bat文件中找到这行命令,然后注释/删除掉:

  1. 第二个问题是:
PS D:\Tomcat11\bin> .\catalina.bat run
Using CATALINA11_BASE:   "D:\Tomcat11"
Using CATALINA11_HOME:   "D:\Tomcat11"
Using CATALINA11_TMPDIR: "D:\Tomcat11\temp"
Using JRE11_HOME:        "D:\JAVA\jdk11"
Using CLASSPATH:       "D:\Tomcat11\bin\bootstrap.jar;D:\Tomcat11\bin\tomcat-juli.jar"
Using CATALINA_OPTS:   ""
错误: 加载主类 org.apache.catalina.startup.Bootstrap 时出现 LinkageError
        java.lang.UnsupportedClassVersionError: org/apache/catalina/startup/Bootstrap has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0
  • 这个错误明确表明:你实际使用的 JDK 版本仍然低于 Tomcat 11 的要求,将JDK版本升级到jdk17及以上即可解决

总结

  • 以上就是我在安装多个版本的Tomcat时踩过的坑,希望能够帮助大家解决一些安装时的问题
  • 如果文章有错误的地方欢迎指出,也欢迎大家讨论和交流学习!

到此这篇关于Win10系统下同时部署多个版本Tomcat的文章就介绍到这了,更多相关Win10同时部署多版本Tomcat内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • CentOS7 下载安装Tomcat 9的教程详解

    CentOS7 下载安装Tomcat 9的教程详解

    这篇文章主要介绍了CentOS7 下载安装Tomcat 9的教程,非常不错,具有一定的参考借鉴价值,需要的朋友可以参考下
    2018-06-06
  • Tomcat中对静态资源的处理教程

    Tomcat中对静态资源的处理教程

    这篇文章主要给大家介绍了关于Tomcat中对静态资源处理的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用Tomcat具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-05-05
  • 详述 tomcat 中的 server.xml 配置文件示例

    详述 tomcat 中的 server.xml 配置文件示例

    本文将通过实例,介绍server.xml中各个组件的配置,并详细说明 Tomcat 各个核心组件的作用以及各个组件之间的相互关系。对tomcat server.xml 配置文件相关知识感兴趣的朋友一起看看吧
    2017-08-08
  • 详解Tomcat Web 应用绑定域名的几种方式

    详解Tomcat Web 应用绑定域名的几种方式

    本篇文章主要介绍了详解Tomcat Web 应用绑定域名的几种方式,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-12-12
  • 修改Tomcat服务器默认端口号的实现方法

    修改Tomcat服务器默认端口号的实现方法

    这篇文章主要介绍了修改Tomcat服务器默认端口号的实现方法的相关资料,需要的朋友可以参考下
    2017-09-09
  • 详解Tomcat常用的过滤器

    详解Tomcat常用的过滤器

    过滤器Filter是定义于tomcat的servlet-api.jar中的一个接口,接口路径为javax.servlet.Filter。tomcat过滤器采用了典型的过滤器设计模式,过滤器链FilterChain由tomcat维持,链条是可以支持多个过滤器的
    2021-06-06
  • Tomcat的Server Options选项详解

    Tomcat的Server Options选项详解

    这篇文章主要介绍了Tomcat的Server Options选项详解,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • CentOS系统下安装Tomcat7的过程详解

    CentOS系统下安装Tomcat7的过程详解

    今天开始学习Tomcat7 ,学习前首先需要安装,我用的系统是CentOS系统,所以下面这篇文章主要介绍了CentOS系统下安装Tomcat7的过程,需要的朋友可以参考下,下面来一起看看吧。
    2016-12-12
  • startup.bat启动Tomcat闪退问题原因及解决

    startup.bat启动Tomcat闪退问题原因及解决

    本文主要介绍了startup.bat启动Tomcat闪退问题原因及解决,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • Windows下tomcat安装图文教程(安装版)

    Windows下tomcat安装图文教程(安装版)

    这篇文章主要介绍了Windows下tomcat安装图文教程(安装版)的相关资料,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2016-07-07

最新评论