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

JSP 中 System.out.println 紅線報錯?三步排查缺失依賴與配置

     編輯:程式設計綜合問答

解決 JSP 頁面 System、String 等核心類無法解析的常見原因

在 Eclipse/IntelliJ 中編寫 JSP 時,System.out.println() 或 String 出現紅線「cannot be resolved」,通常非語法錯誤,而是項目配置或環境問題。

原因一:缺少 Servlet/JSP API 庫(最常見)

JSP 最終編譯為 Servlet,需 servlet-api.jar 和 jsp-api.jar 提供編譯時依賴。

  • Maven 項目:確保 pom.xml 包含 provided 作用域依賴:
    <dependency>
        <groupId>javax.servlet</groupId>
        <artifactId>javax.servlet-api</artifactId>
        <version>4.0.1</version>
        <scope>provided</scope>
    </dependency>
    <dependency>
        <groupId>javax.servlet.jsp</groupId>
        <artifactId>javax.servlet.jsp-api</artifactId>
        <version>2.3.3</version>
        <scope>provided</scope>
    </dependency>
    
  • 非 Maven:將 Tomcat lib/servlet-api.jar、jsp-api.jar 加入 Build Path(標記為 Provided)。

原因二:項目 Facets / 目標運行時未配置

Eclipse 中右鍵項目 → Properties → Project Facets → 勾選 Dynamic Web Module、Java、JavaScript → Runtimes 選中目標 Tomcat 版本。

原因三:JDK 與編譯器版本不匹配

  • Project → Properties → Java Compiler → 確保「Compiler compliance level」與安裝的 JDK 一致(如 1.8)。
  • Installed JREs 指向有效 JDK(非 JRE),確保包含 tools.jar。

原因四:IDE 緩存/索引損壞

嘗試:Project → Clean... → 勾選「Clean all projects」→ 重啟 IDE → File → Invalidate Caches / Restart (IntelliJ)。

快速驗證:

在 JSP 頂部添加 <%@ page import="java.lang.System" %>,若紅線消失說明導入路徑問題;若仍報錯,多半是構建路徑缺庫。

最佳實踐

  1. 統一用 Maven/Gradle 管理依賴,避免手動導 JAR。
  2. JSP 中盡量少用 Java 代碼,改用 JSTL/EL 表達式(${...}),減少編譯錯誤機率。
  3. 生產環境禁用 JSP 開發模式(development=false),提升性能。
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved