欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問(wèn)題

 更新時(shí)間:2023年10月13日 11:36:37   作者:此方星河  
這篇文章主要給大家介紹了如何解決Tomcat?Caused?by:?java.lang.ClassNotFoundException:?java.util.logging.Logger的問(wèn)題,文中有詳細(xì)的原因分析及解決方法,需要的朋友可以參考下

發(fā)生緣由

  • 學(xué)習(xí)Tomcat軟件的使用

環(huán)境

  • Tomcat版本:8.5.75
  • jdk版本:jdk-16.0.2
  • 電腦系統(tǒng):win10

問(wèn)題及補(bǔ)救

啟動(dòng)Tomcat

  • 問(wèn)題
    我的系統(tǒng)是win10,所以打開(kāi)Tomcat需要啟動(dòng)bin目錄下面startup.bat文件??墒请p擊startup.bat文件,發(fā)現(xiàn)會(huì)閃退。
  • 搜索
    通過(guò)搜索引擎搜索發(fā)現(xiàn):這種情況的發(fā)生是因?yàn)闆](méi)有正確的配置JAVA環(huán)境變量。
  • 結(jié)果
    可是我之前已經(jīng)配置好了。使用cmd命令窗口分別輸入下面命令:java、javac、java -version都沒(méi)有任何問(wèn)題。

下載jre

  • 搜索
    通過(guò)搜索引擎搜索發(fā)現(xiàn):查找到了jre的影子。原來(lái)自從jdk11版本開(kāi)始后,下載jdk已經(jīng)不會(huì)自帶jre了,所以需要自行下載。果然,打開(kāi)下載的jdk-16.0.2,里面并沒(méi)有jre。
  • 修改
    通過(guò)管理員身份打開(kāi)cmd命令,進(jìn)入jdk的文件夾。
    我這里下載的jdk位置位于E:\JAVA,因此需要在E:\JAVA\jdk-16.0.2下面打開(kāi)cmd命令,鍵入下面的代碼:bin\jlink.exe --module-path jmods --add-modules java.desktop --output jre。
    之后就會(huì)發(fā)現(xiàn)jdk-16.0.2文件夾下面多了一個(gè)jre的文件夾。然后再配置jre的環(huán)境變量,也就是JRE_HOME:E:\JAVA\jdk-16.0.2\jre Path:%JRE_HOME%\bin
  • 結(jié)果
    雙擊打開(kāi)startup.bat文件依舊是閃退,沒(méi)有作用。

修改源碼

  • 搜索
    通過(guò)搜索引擎搜索發(fā)現(xiàn):仍然有可能是環(huán)境變量配置錯(cuò)誤。查看源碼可以發(fā)現(xiàn)startup.bat–>catalina.bat–>setclasspath.bat,他們之間是層層調(diào)用的關(guān)系。

  • 修改
    所以我們可以在setclasspath.bat文件下面,聲明環(huán)境變量,添加上自己本地jdk、jre路徑。
    右鍵通過(guò)記事本打開(kāi)setclasspath.bat文件,然后在setclasspath.bat文件代碼最上方輸入

set JAVA_HOME=E:\JAVA\jdk-16.0.2(jdk路徑)
set JRE_HOME=E:\JAVA\jdk-16.0.2\jre(jre路徑)
  • 結(jié)果
    雙擊打開(kāi),這次閃退是閃兩下了,依舊打不開(kāi)。

檢查端口號(hào)

  • 搜索
    通過(guò)搜索引擎搜索發(fā)現(xiàn):有可能是有其他應(yīng)用程序占用該端口號(hào)
  • 修改
    通過(guò)cmd命令查看是否有其他應(yīng)用程序占用8080端口號(hào),鍵入netstat -aon|findstr “8080”。
  • 結(jié)果
    并沒(méi)有軟件占用。

捕捉錯(cuò)誤信息

  • 搜索
    通過(guò)搜索引擎搜索發(fā)現(xiàn):可以通過(guò)捕捉查看錯(cuò)誤信息。

  • 修改

    下面一共有兩種錯(cuò)誤方法可以捕捉錯(cuò)誤信息,任意選擇一種即可。

    1. 右鍵startup.bat文件,通過(guò)記事本打開(kāi),將倒數(shù)第三行修改一下。

call "%EXECUTABLE%" start %CMD_LINE_ARGS%
# 修改為下面代碼
call "%EXECUTABLE%" run %CMD_LINE_ARGS%
  • 保存,然后以cmd命令的形式打開(kāi)startup.bat文件。這時(shí)候會(huì)在cmd窗口出現(xiàn)
Using CATALINA_BASE:   "E:\Tomcat\apache-tomcat-8.5.75"
		Using CATALINA_HOME:   "E:\Tomcat\apache-tomcat-8.5.75"
		Using CATALINA_TMPDIR: "E:\Tomcat\apache-tomcat-8.5.75\temp"
		Using JRE_HOME:        "E:\JAVA\jdk-16.0.2\jre"
		Using CLASSPATH:       "E:\Tomcat\apache-tomcat-8.5.75\bin\bootstrap.jar;E:\Tomcat\apache-tomcat-8.5.75\bin\tomcat-juli.jar"
		Using CATALINA_OPTS:   ""
		NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
		WARNING: Unknown module: java.rmi specified to --add-opens
		Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger
		       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61)
		       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181)
		       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:130)
		       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:153)
		       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:208)
		       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:50)
		Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
		       at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
		       at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
		       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
		       ... 6 more
  • 右鍵startup.bat文件,通過(guò)記事本打開(kāi),在最后一行后面加上一行。鍵入:pause
    保存,然后雙擊打開(kāi)startup.bat文件。這時(shí)候會(huì)出現(xiàn)一個(gè)新的Tomcat窗口,里面同樣有著報(bào)錯(cuò)信息
Using CATALINA_BASE:   "E:\Tomcat\apache-tomcat-8.5.75"
		Using CATALINA_HOME:   "E:\Tomcat\apache-tomcat-8.5.75"
		Using CATALINA_TMPDIR: "E:\Tomcat\apache-tomcat-8.5.75\temp"
		Using JRE_HOME:        "E:\JAVA\jdk-16.0.2\jre"
		Using CLASSPATH:       "E:\Tomcat\apache-tomcat-8.5.75\bin\bootstrap.jar;E:\Tomcat\apache-tomcat-8.5.75\bin\tomcat-juli.jar"
		Using CATALINA_OPTS:   ""
		NOTE: Picked up JDK_JAVA_OPTIONS:  --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.base/java.io=ALL-UNNAMED --add-opens=java.base/java.util=ALL-UNNAMED --add-opens=java.base/java.util.concurrent=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
		WARNING: Unknown module: java.rmi specified to --add-opens
		Exception in thread "main" java.lang.NoClassDefFoundError: java/util/logging/Logger
		       at org.apache.juli.logging.DirectJDKLog.<init>(DirectJDKLog.java:61)
		       at org.apache.juli.logging.DirectJDKLog.getInstance(DirectJDKLog.java:181)
		       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:130)
		       at org.apache.juli.logging.LogFactory.getInstance(LogFactory.java:153)
		       at org.apache.juli.logging.LogFactory.getLog(LogFactory.java:208)
		       at org.apache.catalina.startup.Bootstrap.<clinit>(Bootstrap.java:50)
		Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger
		       at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:636)
		       at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:182)
		       at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:519)
		       ... 6 more

修改jre環(huán)境變量

  • 搜索
    通過(guò)搜索引擎搜索Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger發(fā)現(xiàn):jre的問(wèn)題。

  • 修改
    右鍵通過(guò)記事本打開(kāi)setclasspath.bat文件,然后將之前在修改源碼的步驟里面寫(xiě)的代碼修改為

set JAVA_HOME=E:\JAVA\jdk-16.0.2
set JRE_HOME=E:\JAVA\jdk-16.0.2
  • 結(jié)果
    雙擊打開(kāi),發(fā)現(xiàn)可以成功運(yùn)行,但是有亂碼問(wèn)題。

修改亂碼問(wèn)題

  • 修改
    我們來(lái)到conf目錄中,找到一個(gè)名為 logging.properties的文件,打開(kāi)這個(gè)配置文件,修改如下配置項(xiàng):

java.util.logging.ConsoleHandler.encoding = UTF-8
# 修改為下面代碼
java.util.logging.ConsoleHandler.encoding = GBK
  • 保存后,重啟tomcat!

  • 結(jié)果
    恭喜,成功了。

重新修改環(huán)境變量

在我寫(xiě)這篇博客的時(shí)候,發(fā)現(xiàn)其實(shí)是把JAVA環(huán)境變量配置錯(cuò)誤了。

  • 應(yīng)該為:JAVA_HOME:E:\JAVA\jdk-16.0.2 Path:%JAVA_HOME%\bin
  • 我弄的:JAVA_HOUME:E:\JAVA\jdk-16.0.2 Path:%JAVA_HOUME%\bin

所以導(dǎo)致了錯(cuò)誤,可是使用cmd命令窗口分別輸入下面命令:java、javac、java -version都沒(méi)有任何問(wèn)題。

修改完了環(huán)境變量,將之前在配置文件中寫(xiě)的代碼刪除:

set JAVA_HOME=E:\JAVA\jdk-16.0.2
set JRE_HOME=E:\JAVA\jdk-16.0.2

然后就沒(méi)有什么問(wèn)題了。

以上就是解決Tomcat Caused by: java.lang.ClassNotFoundException: java.util.logging.Logger的問(wèn)題的詳細(xì)內(nèi)容,更多關(guān)于Tomcat Caused java.util.logging.Logger的資料請(qǐng)關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • Tomcat安裝shell腳本的方法步驟

    Tomcat安裝shell腳本的方法步驟

    本文主要介紹了Tomcat安裝shell腳本的方法步驟,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2022-07-07
  • 使用Tomcat Native提升Tomcat IO效率的方法詳解

    使用Tomcat Native提升Tomcat IO效率的方法詳解

    這篇文章主要介紹了使用Tomcat Native提升Tomcat IO效率的方法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • IDEA 配置Tomcat服務(wù)器和發(fā)布web項(xiàng)目的圖文教程

    IDEA 配置Tomcat服務(wù)器和發(fā)布web項(xiàng)目的圖文教程

    這篇文章主要介紹了IDEA 配置Tomcat服務(wù)器和發(fā)布web項(xiàng)目的教程,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-11-11
  • Tomcat配置HTTPS訪問(wèn)的實(shí)現(xiàn)步驟

    Tomcat配置HTTPS訪問(wèn)的實(shí)現(xiàn)步驟

    本文主要介紹了Tomcat配置HTTPS訪問(wèn)的實(shí)現(xiàn)步驟,在tomcat中存在兩種證書(shū)驗(yàn)證情況單向驗(yàn)證和雙向驗(yàn)證,下面就詳細(xì)的介紹一下這兩種情況的配置,感興趣的可以了解一下
    2022-07-07
  • Linux 中Tomcat遠(yuǎn)程調(diào)試代碼的實(shí)現(xiàn)方法

    Linux 中Tomcat遠(yuǎn)程調(diào)試代碼的實(shí)現(xiàn)方法

    這篇文章主要介紹了Tomcat 遠(yuǎn)程調(diào)試代碼的實(shí)現(xiàn)方法的相關(guān)資料,這里提供實(shí)例幫助大家實(shí)現(xiàn)這樣的功能,需要的朋友可以參考下
    2017-08-08
  • 一次tomcat自動(dòng)關(guān)閉的bug解決

    一次tomcat自動(dòng)關(guān)閉的bug解決

    這篇文章主要給大家介紹了一次關(guān)于tomcat自動(dòng)關(guān)閉的bug的解決過(guò)程,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用tomcat具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • docker安裝Tomcat 404問(wèn)題的解決方案

    docker安裝Tomcat 404問(wèn)題的解決方案

    這篇文章主要介紹了docker安裝Tomcat 404問(wèn)題的解決方案,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 在tomcat將一個(gè)IP地址綁定多個(gè)域名的方法

    在tomcat將一個(gè)IP地址綁定多個(gè)域名的方法

    這篇文章主要介紹了在tomcat將一個(gè)IP地址綁定多個(gè)域名的方法,方法雖簡(jiǎn)單,但比較實(shí)用,需要的朋友可以參考下
    2014-09-09
  • 關(guān)于Tomcat的服務(wù)器使用及說(shuō)明

    關(guān)于Tomcat的服務(wù)器使用及說(shuō)明

    這篇文章主要介紹了關(guān)于Tomcat的服務(wù)器使用及說(shuō)明,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-06-06
  • Jenkins+tomcat自動(dòng)發(fā)布的熱部署/重啟及遇到的問(wèn)題解決辦法(推薦)

    Jenkins+tomcat自動(dòng)發(fā)布的熱部署/重啟及遇到的問(wèn)題解決辦法(推薦)

    這篇文章主要介紹了Jenkins+tomcat自動(dòng)發(fā)布的熱部署/重啟及遇到的問(wèn)題解決辦法,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-07-07

最新評(píng)論