jdk環境導緻tomcat啟動報錯修改
前段時間做一個需求的時候,應要求對項目進行了一些修改,然後重新部署項目到伺服器上,啟動的時候tomcat的啟動日志裡面老是報servlet-api.jar找不到的錯誤:
從錯誤提示上可以看出是依賴包找不到的問題,但是這個包在tomcat的lib下是存在的,我也嘗試着将缺的包加到jdk/jre/lib/ext和項目的lib下,但都不能阻止這個錯誤的出現,想了一下既然不是包的問題,那應該是和編譯環境有關的,于是檢視伺服器預設使用的jdk和jdk環境變量的配置,沒發現什麼問題,但是當我切換到其他使用者時發現用的jdk版本是1.7的,那就可以确認是環境的問題了。
//在root使用者下通過這個指令檢視我的是/export/home/tools/jdk1.6.0_06/bin/java
//在centos使用者下jdk是1.7的
which java
在centos使用者下,檢視java連結指向(ll /etc/alternatives |grep java),結果如下圖:
解決:
1.删除了 /usr/bin/java 和/etc/alternatives/java 這兩個軟連結
rm -f /usr/bin/java
rm -f /usr/bin/javac
rm -f /etc/alternatives/java
rm -f /etc/alternatives/javac
2.重建立立新的軟連接配接指向jdk1.6
#cd /usr/bin
ln -s -f /usr/java/jdk1.6.0_01/jre/bin/java
ln -s -f /usr/java/jdk1.6.0_01/bin/javac
參考:https://blog.csdn.net/moheqionglin/article/details/19691617