java - JSTL 版本 1.2 已声明,但 1.1 从 Maven 存储库交付

标签 java maven-2 jstl

我正在寻找一种简单的方法来从 Maven 存储库获取 JSTL 1.2 实现 JAR,这听起来很简单,但实际上证明相当困难。

我尝试过以下软件包:

javax.servlet:jSTL:1.2
通过http://repo1.maven.org/maven2/javax/servlet/jstl/1.2/jstl-1.2.jar

javax.servlet.jsp.jSTL:jSTL:1.2
通过http://download.java.net/maven/1/javax.servlet.jsp.jstl/jars/jstl-1.2.jar

这两个工件都应包含 JSTL 1.2 实现。但是,当我下载 JAR 并打开其中一个 JAR 中的文件 /META-INF/c.tld (它们的内容相同)时, header 显示:

<taglib xmlns="http://java.sun.com/xml/ns/javaee"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-jsptaglibrary_2_1.xsd"
    version="2.1">

  <description>JSTL 1.1 core library</description>
  <display-name>JSTL core</display-name>
  <tlib-version>1.1</tlib-version>
  <short-name>c</short-name>
  <uri>http://java.sun.com/jsp/jstl/core</uri>
  ...

这意味着该标签不是 1.2 而是 1.1 标签。作为比较,当我直接从 http://download.java.net/maven/glassfish/org/glassfish/web/jstl-impl/1.2/jstl-impl-1.2.jar 下载 JAR 文件时c.tld 文件看起来正确:

  ...
  <description>JSTL 1.2 core library</description>
  <display-name>JSTL core</display-name>
  <tlib-version>1.2</tlib-version>
  <short-name>c</short-name>
  <uri>http://java.sun.com/jsp/jstl/core</uri>
  ...

所以,问题是:为什么 Maven 存储库包含错误版本(1.1 而不是 1.2)的 JAR(或更具体地说是 tld 声明)以及如何通过 Maven 获取正确的 JSTL 版本?

最佳答案

  1. 通过 https://issues.sonatype.org/browse/MVNCENTRAL 报告问题

  2. 作为短期修复,请将本地 .m2 存储库中的 JAR 文件替换为 java.net 中的正确 JAR。

    如果您使用代理,也请替换它。

关于java - JSTL 版本 1.2 已声明,但 1.1 从 Maven 存储库交付,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6535119/

相关文章:

c# - 关于 "Tell, don' t的问题请问"idea

java - 将图像从 Angular 7 上传到 Spring-boot

java - intellij idea中tomcat 7中的参数

java - 根据签名在 Netbeans 中自动创建构造函数主体和字段

java - archetypeArtifactId 的用途是什么?

java - 用于生成 ISO 文件的 Maven 插件

javascript - javascript 中的 jSTL

javascript - Spring MVC - 使用 Japascript 对象设置\填充 JSTL\JSP 对象的内容

java - 如何在 Eclipse/IntelliJ 中正确设置 Maven 项目

java.lang.ClassCastException : java. lang.String 无法转换为 com.example.service.AlbumService