IntelliJ 在第一个“<c:”的 jsp 文件中显示 html 验证错误

IntelliJ shows html validation error in jsp file on first "<c:"

IntelliJ 2020.3.1(终极版)坚持向我显示验证错误,其中在具有 jsp 的 Maven war 项目中存在 none。它在任何 jsp 文件的第一个“

问题选项卡显示此错误:

'!', '!=', '%', '&#', '&&', '&gt;', '&lt;', '*', '+', '+=', ',', '-', '.', '/', <, <=, <Literal>, '==', '>', '>=', IDENTIFIER, STRING_IDENTIFIER, and, div, empty, eq, ge, gt, le, lt, mod, ne, not, or, '|' or '||' expected, got ':'

我创建了一个 minimal testcase 来显示 index.jsp 中的这个多余错误。

同样无法重现。尝试执行文件 - 使 Caches/restart.

无效

另外,您可以尝试更新到雅加达吗?

<dependency>
    <groupId>jakarta.servlet</groupId>
    <artifactId>jakarta.servlet-api</artifactId>
    <version>5.0.0</version>
    <scope>provided</scope>
</dependency>
<dependency>
    <groupId>org.glassfish.web</groupId>
    <artifactId>jakarta.servlet.jsp.jstl</artifactId>
    <version>2.0.0</version>
</dependency>

如果您的 Servlet 容器不支持 latest JSTL specification,即 2.0,您可能需要为 JSTL 依赖项指定一个运行时范围。例如,Tomcat 10 没有。

抱歉,Glassfish 依赖 - Jakarta 不在其 JSP API 中提供 TLD,apparently

告诉我它是否有效!

禁用捆绑的 ThymeLeaf(版本 203.6682.168)插件后错误消失。我的项目没有提到 Thymeleaf,所以我不明白为什么它应该验证我的 jsp 文件。

我已将此报告为 intellij issue