一篇文章徹底解決Win10系統(tǒng)下同時部署多個版本的Tomcat
前言
最近在學(xué)習(xí)JavaWeb的時候,想安裝新版本的Tomcat11,又不想把之前安裝過的Tomcat9卸掉,于是就在想能不能同時安裝兩個版本的Tomcat兼容一下
所以就有了今天的這篇文章,教會你們?nèi)绾未罱ǘ鄠€版本的Tomcat服務(wù)器
演示的環(huán)境是Windows10,安裝的版本為Tomcat11,所用到的Java版本為jdk17
- Tomcat下載鏈接:https://tomcat.apache.org/
- JDK17下載鏈接:https://www.oracle.com/java/technologies/javase/jdk17-archive-downloads.html 或者點(diǎn)擊這里下載
注意,這里下載的都是zip壓縮包,不要下載安裝程序!,避免環(huán)境沖突


所用到的文件夾
Tomcat11 文件夾D:\Tomcat11:

Tomcat 的bin目錄:

Tomcat的conf目錄:

Jdk 17目錄D:\JAVA\jdk17:

Tomcat服務(wù)端口修改
- 由于之前已經(jīng)安裝過了
Tomcat9,這里為了避免沖突,需要先將啟動和關(guān)閉的端口修改一下 - 在
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參數(shù)修改
- 這里
Tomcat9和Tomcat11用的jdk版本不同,所以避免沖突,我們需要替換一下環(huán)境變量 - 打開
bin目錄,對所有的.bat文件,替換如下字段,只要與之前的區(qū)別開就行:CATALINA_HOME--> CATALINA11_HOMECATALINA_BASE--> CATALINA11_BASECATALINA_TIMDIR--> CATALINA11_TIMDIRJRE_HOME--> JRE11_HOMEJAVA_HOME--> JAVA11_HOME
環(huán)境變量配置
- 然后我們
Win + R輸入sysdm.cpl配置環(huán)境變量 - 第一個地方是系統(tǒng)變量這里,添加如下內(nèi)容(根據(jù)自己的實(shí)際安裝路徑更改):
CATALINA11_BASE : D:\Tomcat11 CATALINA11_HOME : D:\Tomcat11 CATALINA11_TIMDIR : D:\Tomcat11\temp JAVA11_HOME : D:\JAVA\jdk17

- 然后找到
Path,雙擊進(jìn)行編輯,添加JDK的環(huán)境D:\JAVA\jdk17\bin或者%JAVA11_HOME%\bin:
- 注意,這里盡量設(shè)置在其他Java版本的前面,避免系統(tǒng)解析舊的Java版本
驗(yàn)證環(huán)境是否配置成功
- 使用
java -version命令驗(yàn)證Java環(huán)境是否修改成功:
- 如果仍然是其他版本的
Java版本,可以重新打開一個終端再嘗試一遍 - 或者輸入
echo %JAVA11_HOME%看一看環(huán)境是否生效 - 在終端下打開
Tomcat文件夾,輸入命令.\catalina.bat run運(yùn)行起來,到這里應(yīng)該是沒有報(bào)錯信息的:
- 如果顯示上面這個頁面就說明
Tomcat啟動成功了,我們訪問http://localhost:8081即可:
- 之后再啟動
Tomcat就直接雙擊startup.bat文件即可 - 這里同時啟動兩個版本的
Tomcat都是沒問題的
可能遇到的問題
問題一:startup.bat閃退
- 如果直接啟動
startup.bat發(fā)生閃退,可以在命令行中啟動看報(bào)錯原因,一般都是端口占用、環(huán)境配置錯誤或者文件損壞 - 解決方法:
netstat -ano | findstr "8080"查看端口(看自己配置文件中的端口)是否被占用,如果被占用,在資源管理器中搜索相應(yīng)的PID,結(jié)束進(jìn)程即可- 如果是環(huán)境配置錯誤,就重新配置環(huán)境
- 文件如果損壞,重新下載復(fù)制損壞文件即可
問題二:startup.bat成功啟動,但仍打不開服務(wù)器
- 如果在命令行中啟動
startup.bat,這里它會啟動兩個黑窗口,如果成功啟動第一個,但是第二個黑窗口閃退,如下:
- 只能看到這個頁面的話,說明可能是端口被占用,或者一些配置上的問題,比如系統(tǒng)仍然沒有識別到正確的JDK版本等等
- 我們可以在命令行中輸入
.\catalina.bat run去看一看報(bào)錯信息,我這里遇到過兩個問題:
- 第一個問題是:
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 參數(shù)與你當(dāng)前的 JDK 版本不兼容,這通常是由于 JDK 版本識別錯誤 導(dǎo)致的。
- 可以在
Tomcat的catalina.bat文件中找到這行命令,然后注釋/刪除掉:
- 第二個問題是:
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 時出現(xiàn) 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
- 這個錯誤明確表明:你實(shí)際使用的 JDK 版本仍然低于 Tomcat 11 的要求,將JDK版本升級到
jdk17及以上即可解決
總結(jié)
- 以上就是我在安裝多個版本的
Tomcat時踩過的坑,希望能夠幫助大家解決一些安裝時的問題 - 如果文章有錯誤的地方歡迎指出,也歡迎大家討論和交流學(xué)習(xí)!
到此這篇關(guān)于Win10系統(tǒng)下同時部署多個版本Tomcat的文章就介紹到這了,更多相關(guān)Win10同時部署多版本Tomcat內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
詳述 tomcat 中的 server.xml 配置文件示例
本文將通過實(shí)例,介紹server.xml中各個組件的配置,并詳細(xì)說明 Tomcat 各個核心組件的作用以及各個組件之間的相互關(guān)系。對tomcat server.xml 配置文件相關(guān)知識感興趣的朋友一起看看吧2017-08-08
詳解Tomcat Web 應(yīng)用綁定域名的幾種方式
本篇文章主要介紹了詳解Tomcat Web 應(yīng)用綁定域名的幾種方式,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-12-12
修改Tomcat服務(wù)器默認(rèn)端口號的實(shí)現(xiàn)方法
這篇文章主要介紹了修改Tomcat服務(wù)器默認(rèn)端口號的實(shí)現(xiàn)方法的相關(guān)資料,需要的朋友可以參考下2017-09-09
Tomcat的Server Options選項(xiàng)詳解
這篇文章主要介紹了Tomcat的Server Options選項(xiàng)詳解,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-09

