You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在IntelliJ+Maven+GlassFish7的Jakarta EE10项目中配置JSTL

解决Jakarta EE 10 + GlassFish 7中JSTL "cannot resolve taglib uri"问题

以下是针对你的环境(IntelliJ Ultimate、Maven、GlassFish 7、JDK 19、Jakarta EE 10)的具体解决方案:

1. 修正Maven依赖配置

GlassFish 7作为Jakarta EE 10兼容服务器,已经内置了JSTL 3.0的API和实现,无需单独添加jakarta.servlet.jsp.jstl-api依赖,否则会引发冲突。你的pom.xml只需保留Jakarta EE API的provided依赖:

<dependency>
    <groupId>jakarta.platform</groupId>
    <artifactId>jakarta.jakartaee-api</artifactId>
    <version>10.0.0</version>
    <scope>provided</scope>
</dependency>

如果一定要显式声明JSTL API,必须将其scope设为provided,避免与服务器内置库冲突:

<dependency>
    <groupId>jakarta.servlet.jsp.jstl</groupId>
    <artifactId>jakarta.servlet.jsp.jstl-api</artifactId>
    <version>3.0.0</version>
    <scope>provided</scope>
</dependency>

2. 使用正确的Taglib URI

Jakarta EE 10对应JSTL 3.0,官方指定的核心标签库URI是jakarta.tags.core,旧的http://java.sun.com/jsp/jstl/core仅适用于JSTL 1.x(Java EE时代)。JSP中只需保留这一行声明:

<%@ taglib prefix="c" uri="jakarta.tags.core" %>

3. 让IntelliJ识别Taglib

IDE无法解析URI通常是因为没有关联到JSTL库,按以下步骤操作:

  • 打开File → Project Structure → Modules,切换到Dependencies标签页
  • 点击+ → Library → From Maven,搜索jakarta.servlet.jsp.jstl:jakarta.servlet.jsp.jstl-api:3.0.0,添加并将其Scope设为Provided
  • 或者直接关联GlassFish内置库:点击+ → Library → Java,找到GlassFish安装目录下的glassfish7/glassfish/modules/jakarta.servlet.jsp.jstl-api.jar和jakarta.servlet.jsp.jstl.jar,添加为库
  • 最后点击右侧Maven面板的刷新按钮,重新加载项目依赖

4. 验证Web配置

确保web.xml使用Jakarta EE 10对应的Servlet 6.0版本,根元素配置如下:

<web-app xmlns="https://jakarta.ee/xml/ns/jakartaee"
         xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
         xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_6_0.xsd"
         version="6.0">
    <!-- 你的web配置 -->
</web-app>

完成以上步骤后,IDE的"cannot resolve taglib uri"提示应该会消失,同时可以正常使用JSTL标签防范XSS(比如使用<c:out>标签自动转义输出内容)。

内容的提问来源于stack exchange,提问作者Benjamin BASSET

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.03 05:10:54