IDEA無法啓動Tomcat 404錯誤、無法訪問Tomcat主頁、控制檯亂碼等問題的解決辦法

用IDEA集成Tomcat後,運行web項目出現了一系列問題。

本人使用的是IDEA版本是2018.3.3,Tomcat服務器版本是是9.0.14

問題1:啓動web項目時,顯示中文亂碼 

計劃先把中文亂碼問題解決,百度各種方法無果。

通過配置可以瞭解到 IDEA就是從Tomcat Localhost Log和 Tomcat Catalina Log文件讀取日誌,打開Tomcat安裝路徑下的logs文件夾,點開裏面的日誌文件發現並沒有亂碼,那麼問題就出在了IDEA加載日誌文件時編碼出現了問題,所以現在要修改idea.exe.vmoptions文件,增加字符集設置 ,找到idea安裝目錄(可以桌面找到idea圖標,右鍵選擇屬性,點查找目標),

打開idea.exe.vmoptions文件,在文件末尾添加如下代碼

-Dfile.encoding=utf-8

再重新啓動IDEA即可,這下亂碼問題徹底解決。 

 問題2:未能成功啓動Tomcat服務器,卡在如下界面

28-Jan-2019 12:51:59.195 信息 [main] org.apache.catalina.core.AprLifecycleListener.lifecycleEvent APR/OpenSSL configuration: useAprConnector [false], useOpenSSL [true]
28-Jan-2019 12:51:59.200 信息 [main] org.apache.catalina.core.AprLifecycleListener.initializeSSL OpenSSL successfully initialized [OpenSSL 1.1.1a  20 Nov 2018]
28-Jan-2019 12:51:59.326 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化協議處理器 ["http-nio-8080"]
28-Jan-2019 12:51:59.768 信息 [main] org.apache.coyote.AbstractProtocol.init 初始化協議處理器 ["ajp-nio-8009"]
28-Jan-2019 12:51:59.775 信息 [main] org.apache.catalina.startup.Catalina.load 服務器在[919]毫秒內初始化
28-Jan-2019 12:51:59.807 信息 [main] org.apache.catalina.core.StandardService.startInternal Starting service [Catalina]
28-Jan-2019 12:51:59.808 信息 [main] org.apache.catalina.core.StandardEngine.startInternal Starting Servlet engine: [Apache Tomcat/9.0.14]
28-Jan-2019 12:51:59.819 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協議處理句柄["http-nio-8080"]
28-Jan-2019 12:51:59.830 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協議處理句柄["ajp-nio-8009"]
28-Jan-2019 12:51:59.834 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [58] milliseconds
28-Jan-2019 12:52:09.825 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory 部署 web 應用程序目錄 [D:\java\apache-tomcat-9.0.14\webapps\manager]
28-Jan-2019 12:52:10.155 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\java\apache-tomcat-9.0.14\webapps\manager] has finished in [330] ms

啓動成功最後應該會有“Connected to server”等字樣,此時也無法訪問Tomcat主頁,又是一番折騰,最後通過修改Tomcat安裝路徑下bin文件夾裏的Catalina.bat文件,將下行代碼刪除或者註釋掉,註釋的話就是前面加rem

 改爲

rem set JAVA_OPTS=-Xms512m -Xmx1024m -XX:MaxPermSize=1024m -Dfile.encoding=UTF-8

終於成功啓動了Tomcat服務器,項目也隨之打開。

28-Jan-2019 13:15:06.169 信息 [main] org.apache.coyote.AbstractProtocol.start 開始協議處理句柄["ajp-nio-8009"]
28-Jan-2019 13:15:06.174 信息 [main] org.apache.catalina.startup.Catalina.start Server startup in [51] milliseconds
Connected to server
[2019-01-28 01:15:06,519] Artifact day13_tomcat:war exploded: Artifact is being deployed, please wait...
[2019-01-28 01:15:06,519] Artifact tomcattest:war exploded: Artifact is being deployed, please wait...
[2019-01-28 01:15:06,861] Artifact day13_tomcat:war exploded: Artifact is deployed successfully
[2019-01-28 01:15:06,861] Artifact day13_tomcat:war exploded: Deploy took 342 milliseconds
[2019-01-28 01:15:06,914] Artifact tomcattest:war exploded: Artifact is deployed successfully
[2019-01-28 01:15:06,914] Artifact tomcattest:war exploded: Deploy took 395 milliseconds
28-Jan-2019 13:15:16.163 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory 部署 web 應用程序目錄 [D:\java\apache-tomcat-9.0.14\webapps\manager]
28-Jan-2019 13:15:16.200 信息 [Catalina-utility-1] org.apache.catalina.startup.HostConfig.deployDirectory Deployment of web application directory [D:\java\apache-tomcat-9.0.14\webapps\manager] has finished in [37] ms

 問題3:此時在瀏覽器輸入 http://localhost:8080/提示404錯誤,無法訪問Tomcat主頁,但是項目的其他頁面卻可以訪問

經查詢,瞭解到我們的項目的工件輸出目錄在我們指定的目錄下,而不是在安裝的tomcat的Apache-tomcat的webapps的目錄下。

IDEA在“項目目錄\out\artifacts”下虛擬了一個Tomcat,而在該目錄下又沒有Tomcat首頁的工程。而此時並沒有把Tomcat首頁的工程部署到服務器,所以就訪問不到Tomcat首頁,而訪問到的是我們項目裏的其他頁面信息。

解決辦法

解決方法是將Tomcat的首頁的工程部署到Tomcat服務器上,部署步驟如下:

選擇菜單欄“Run-->Edit Configuration...-->Deployment”,選擇右上角綠色“+”,選擇“External Source...”,將Apache-tomcat的webapps目錄下的ROOT文件夾選中,點擊OK,及完成Tomcat的首頁的工程的部署。

 

 

之後在訪問Tomcat主頁,Tom貓又回來咯 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章