1. 程式人生 > >Tomcat8 啟動報錯

Tomcat8 啟動報錯

Tomcat8啟動報錯: java.lang.NoSuchMethodError:javax.servlet.ServletContext.getClassLoader

在網上搜索後,發現此類問題大都是servlet-api.jar版本不一致導致,但是 從apache重新下載 啟動tomcat8 還是報這個錯。

原來是 剛剛在命令列javac下測試application級別的servlet,從tomcat lib庫拷貝servlet-api-2.5.jar到%JRE%\lib\ext下(JDK 引入第三方JAR檔案都放在此目錄下),注意這個jar不是tomcat8,而是舊版本的。

Tomcat啟動是需要從%JAVA_HOME%和%JRE_HOME%讀jar檔案,而且從優先順序下,JRE庫是先於Tomcat自己的lib目錄。刪除掉%JRE%\lib\ext下的servlet-api.jar檔案,並再拷貝Tomcat8自己的servlet-api.jar。

問題解決。