jenkins 遠(yuǎn)程啟動(dòng)tomcat失敗

今天在使用jenkins進(jìn)行部署的時(shí)候,遇到了兩個(gè)問(wèn)題,已解決,特此記錄。

問(wèn)題一:

遠(yuǎn)程啟動(dòng)tomcat,tomcat已經(jīng)啟動(dòng),但是服務(wù)訪問(wèn)失敗,檢查catalina.out也可以明顯看到這一點(diǎn)。

登陸遠(yuǎn)程服務(wù)器,執(zhí)行xx/tomcat/bin/startup.sh啟動(dòng)成功。

啟動(dòng)命令完全一致;

解決思路:

? ? 遠(yuǎn)程啟動(dòng)tomcat后,使用ps -ef|grep tomcat 拿到進(jìn)程的完整啟動(dòng)命令。

? ? 本地啟動(dòng)tomcat后,使用ps -ef|grep tomcat 拿到進(jìn)程的完整啟動(dòng)命令。

? ? 兩個(gè)命令對(duì)比,會(huì)發(fā)現(xiàn)使用的jdk不一致,其他的完全一致。

? ? 遠(yuǎn)程啟動(dòng)的啟動(dòng)命令中的jdk路徑:/usr/bin/java ,執(zhí)行 /usr/bin/java -version 拿到遠(yuǎn)程啟動(dòng)命令的版本,可以再次清晰看到兩者不一致。

? ? 遠(yuǎn)程服務(wù)器上執(zhí)行 java -version,得到的版本號(hào)與本地啟動(dòng)命令中的版本號(hào)一致。

最終,知道,所有的一切是因?yàn)閖dk版本不一致導(dǎo)致的,聯(lián)系運(yùn)維解決服務(wù)器的環(huán)境問(wèn)題。

問(wèn)題二:

遠(yuǎn)程啟動(dòng)jar,啟動(dòng)命令:cd xx; nohup java -jar xx.jar? ? > /dev/null 2>&1 & 執(zhí)行后,在遠(yuǎn)程服務(wù)器使用ps -ef|grep java xx.jar查不到進(jìn)程;

本地啟動(dòng):nohup java -jar xx.jar > /dev/null 2>&1 & 啟動(dòng)后,使用ps -ef|grep xx.jar可以看到對(duì)應(yīng)進(jìn)程;

解決思路:

? ? 此時(shí)遠(yuǎn)程啟動(dòng)沒有任何日志,只能知道是沒有啟動(dòng)。

? ? 調(diào)整啟動(dòng)命令為:nohup java -jar xx.jar > xx.out 2>&1 &, 此時(shí)能夠看到xx.out中的報(bào)錯(cuò)信息為:

? ? ? ? Exception in thread "main" java.lang.unsupportedClassversionError: xx/MainApplication: Unsupported major.minor version 52.0

? ? ? ? ? ? at java.lang.ClassLoader.defineClass1(Native Method)

? ? ? ? ? ? at java.lang.ClassLoader.defineClass(ClassLoader.java:800)

? ? ? ? ? ? ......

這個(gè)錯(cuò)誤一般是值指ar包的打包的jdk版本和啟動(dòng)的jdk版本不一致。

遠(yuǎn)程服務(wù)器本地執(zhí)行:java -version,版本為1.8

遠(yuǎn)程命令執(zhí)行:ssh xx@xx.xx.xx.xx java -version,得到的版本為1.7,

此時(shí)就可以很清楚的知道是環(huán)境問(wèn)題導(dǎo)致的兩個(gè)版本不一致,從而導(dǎo)致遠(yuǎn)程啟動(dòng)問(wèn)題。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容