首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> Java 綜合教學

Tomcat 8 無法編譯 JSP 解決方案:移除衝突的 servlet-api.jar

     編輯:Java 綜合教學

Tomcat 8 無法編譯 JSP 解決方案:移除衝突的 servlet-api.jar

問題現象

環境:JDK 8 + Tomcat 8。導入 jQuery MiniUI (for Java Eclipse) 專案後,首頁正常,但操作數據庫頁面報錯,新建簡單 JSP 也無法運行,提示:

org.apache.jasper.JasperException: Unable to compile class for JSP

即無法編譯 JSP 文件。

解決方法

刪除專案 WebContent/WEB-INF/lib 目錄下的 servlet-api.jar,重啟 Tomcat 8 即可。

原因分析

jQuery MiniUI 專案開發時使用的是低版本 Tomcat,其 lib 目錄下的 servlet-api.jar 與 Tomcat 8 自帶的 Servlet API 版本不兼容,導致 JSP 編譯失敗。Tomcat 容器已提供 Servlet API,專案中不應重複引入。

最佳實踐: 專案構建時,Servlet API 依賴範圍應設為 provided(Maven)或不發布到 WEB-INF/lib,避免版本衝突。

  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved