omcat是常見的免費(fèi)的web服務(wù)器,非常好用,但是經(jīng)常會(huì)出現(xiàn)各種錯(cuò)誤。
(Tomcat資源:https://download.csdn.net/download/june_anlanruoshui/10826865)
運(yùn)行Tomcat/bin/startup.bat時(shí)閃退,可以在startup.bat最后加入一句pause,使運(yùn)行窗口不關(guān)閉,便于排錯(cuò)(調(diào)試完成記得刪除)
一、 沒有正確定義JRE_HOME環(huán)境變量。
Error:the JRE_HOME environment variable is not defined correctly
如圖:
解決辦法:
重新檢查JDK配置。
配置方法:
找到“我的電腦”,右鍵打開屬性->高級(jí)系統(tǒng)設(shè)置->環(huán)境變量:
配置JAVA_HOME:
修改變量 Path ,在最前面加上 %JAVA_HOME%\bin;
(這是win10如果是其他版本的加在Path前面即可)
(在命令行中運(yùn)行java -version 檢查當(dāng)前JDK是否配置成功)
二、無法創(chuàng)建Java虛擬機(jī)
出現(xiàn)如下錯(cuò)誤:
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.
錯(cuò)誤:無法創(chuàng)建Java虛擬機(jī)。
錯(cuò)誤:發(fā)生致命異常。程序?qū)?huì)退出。
解決辦法:
這個(gè)可能是 jdk 與 tomcat 版本不一致 導(dǎo)致的,可以嘗試升級(jí)tomcat版本,或者降低 /升級(jí)jdk版本。查找對(duì)應(yīng)的版本再安裝嘗試一下。
(在命令行中運(yùn)行java -version 可以檢查當(dāng)前JDK的版本)
三、CATALINA_HOME,CATALINA_BASE的配置錯(cuò)誤
出現(xiàn)如下錯(cuò)誤:
解決辦法:
在環(huán)境變量中刪除CATALINA_HOME,CATALINA_BASE的配置(如果沒有在環(huán)境變量里配置過,那么會(huì)自動(dòng)采用bin目錄的父目錄)。
或者把CATALINA_HOME、CATALINA_BASE設(shè)置為正確的TOMCAT目錄。
環(huán)境參數(shù)正確會(huì)顯示如下圖:
(“D:\tomcat”是我的tomcat文件路徑)
四:端口已被占用
端口已被占用(我簡(jiǎn)單以80端口為例,請(qǐng)根據(jù)實(shí)際情況判斷)
Error:Address already in use: JVM_Bind :80
比如:如果你先單獨(dú)打開了tomcat,又試圖在eclipse或IDEA里啟動(dòng)它,相當(dāng)于是啟動(dòng)兩次,當(dāng)然端口會(huì)被占用了。
解決辦法:
在運(yùn)行中輸入cmd:
輸入:netstat -ano|findstr “80” 查看 端口號(hào)包含"80"的占用情況(如圖有三個(gè)端口同時(shí)開啟)
輸入:tasklist|findstr “1828” 查找端口使用者(為java.exe)
輸入taskkill /f /t /im java.exe 終止對(duì)應(yīng)進(jìn)程
五、缺少APR
出現(xiàn)如下:
The APR based Apache Tomcat Native library which allows optimal performance in production environments was not found on the java.library.path:
出現(xiàn)這種情況是這表示沒有找到APR。
解決辦法:
去 http://tomcat.heanet.ie/native/ 下載編譯好的tcnative-1.dll文件拷貝至jdk\bin下,再啟動(dòng)就可以成功加載APR了。
(在我給的Tomcat資源里面有:https://download.csdn.net/download/june_anlanruoshui/10826865)
六:JDK不兼容
出現(xiàn)如下:
NOTE: Picked up JDK_JAVA_OPTIONS: --add-opens=java.base/java.lang=ALL-UNNAMED --add-opens=java.rmi/sun.rmi.transport=ALL-UNNAMED
JDK不兼容:解決辦法同第二點(diǎn),檢查tomcat和JDK版本
七、持久化異常
出現(xiàn)Exception loading sessions from persistent storage
該問題的原因是tomcat的session持久化機(jī)制引起的,在%TOMCAT%/work/Catalina/localhost/session.ser 這個(gè)文件里,因?yàn)閠omcat非正常關(guān)閉,所以這個(gè)文件沒有正確地結(jié)束(無EOF標(biāo)記)
解決辦法:
1、只需要?jiǎng)h除 session.ser文件即可。
2、關(guān)閉tomcat的持久化功能,就能一勞永逸的解決這個(gè)問題。具體為修改conf下的server.xml文件。在項(xiàng)目的context間加入一句代碼
八、給tomcat指定特定的JDK
修改bin文件夾下面的setclasspath.bat文件
set “JRE_HOME=%JAVA_HOME%”
修改為:
set “JRE_HOME=E:\Java\jdk1.8.0.65”
(根據(jù)自己的JDK路徑修改)
九、修改端口:
打開…\conf\server.xml
修改“8080”處端口號(hào)(tomcat默認(rèn)端口為8080)
十、利用tomcat部署:
將項(xiàng)目文件放入tomcat\webapps\ROOT
(此處簡(jiǎn)單以test.html為例)
如出現(xiàn)404錯(cuò)誤:請(qǐng)檢查文件是否存在/端口是否正確/環(huán)境變量是否無誤/Tomcat是否啟動(dòng)/訪問資源和文件名是否正確……等
Jenkins部署方式有多種,今天要講的是在Windows環(huán)境上使用tomcat來部署。因?yàn)楸敬尾渴鸬氖莟omcat9,首先要確保JAVA環(huán)境的JDK是不低于1.8的。
進(jìn)入到tomcat的官網(wǎng),下載對(duì)應(yīng)的系統(tǒng)版本,如下圖:
下載后解壓重命名tomcat9,進(jìn)入E:\tomcat9\bin目錄,雙擊startup.bat來啟動(dòng),發(fā)現(xiàn)啟動(dòng)命令行有亂碼,如下圖:
打開E:\tomcat9\conf\logging.properties文件,注釋掉下圖中圈中的:
java.util.logging.ConsoleHandler.encoding = UTF-8
重新啟動(dòng)E:\tomcat9\bin\startup.bat,亂碼已解決,如下圖:
瀏覽器輸入http://localhost:8080/,界面如下:
進(jìn)入到Jenkins中文官網(wǎng),下載war包
把war包放到E:\tomcat9\webapps下,如下圖:
重新啟動(dòng)E:\tomcat9\bin\startup.bat,瀏覽器輸入http://localhost:8080/jenkins,打開界面如下:
根據(jù)上面的提示,打開C:\Users\lgp\.jenkins\secrets\initialAdminPassword文件,輸入里面的一串字符,點(diǎn)繼續(xù)后,稍等一會(huì),頁面展現(xiàn)如下:
咱們來選擇安裝推薦的插件,點(diǎn)擊后,頁面展現(xiàn)如下:
等插件安裝完成后,頁面展現(xiàn)如下:
上面5個(gè)字段輸入內(nèi)容后,點(diǎn)擊保存并完成,頁面展現(xiàn)如下:
URL默認(rèn)即可,點(diǎn)擊保存并完成,頁面展示如下:
點(diǎn)擊開始使用Jenkins按鈕,頁面展示如下:
頁面是空白的,重新啟動(dòng)E:\tomcat9\bin\startup.bat即可:
登錄后,就看到熟悉的界面了:
發(fā)現(xiàn)tomcat日志里面顯示好多警告,看著是不是有點(diǎn)不爽
打開E:\tomcat9\conf\context.xml文件,加入以下內(nèi)容即可:
<Resources cachingAllowed="true" cacheMaxSize="1024000" />
重新啟動(dòng)E:\tomcat9\bin\startup.bat,又看到下面的警告:
進(jìn)入http://localhost:8080/jenkins/configureSecurity/頁面,去掉防止跨站點(diǎn)請(qǐng)求偽造的勾選并保存,但是保存后頁面還會(huì)有個(gè)相關(guān)的小警告,點(diǎn)擊不在顯示按鈕即可
重新啟動(dòng)E:\tomcat9\bin\startup.bat,tomcat命令行就不會(huì)有相應(yīng)的警告了
然后進(jìn)入到http://localhost:8080/jenkins/manage頁面,看到下面的錯(cuò)誤信息,暫時(shí)沒有找到解決方案,據(jù)說這個(gè)報(bào)錯(cuò)不影響使用的,可以先忽略,點(diǎn)擊不在顯示按鈕就行了