gpt4 book ai didi

java - Tomcat 5.5 Servlet/JSP/JSTL 依赖项

转载 作者:行者123 更新时间:2023-11-30 06:35:07 25 4
gpt4 key购买 nike

我遇到了 Tomcat 5.5 和 Java EE webapp 库的问题。我使用 Gradle 进行依赖管理,我使用 JSP API 2.0、Servlet API 2.4 和 JSTL 1.1。

我得到一个 org.apache.jasper.JasperException: The absolute uri: <a href="http://java.sun.com/jsp/jstl/core" rel="noreferrer noopener nofollow">http://java.sun.com/jsp/jstl/core</a> cannot be resolved in either web.xml or the jar files deployed with this application

根据 http://www.mularien.com/blog/2008/04/24/how-to-reference-and-use-jstl-in-your-web-application/ ,这意味着缺少 JSTL 实现。

这是我的 web.xml 的样子:

<web-app
xmlns="http://java.sun.com/xml/ns/j2ee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee
http://java.sun.com/xml/ns j2ee/web-app_2_4.xsd"
version="2.4">


这就是我引用 JSTL 库的方式:

<%@taglib prefix="c" uri="http://java.sun.com/jsp/jstl/core" %>


Gradle构建文件中对应的依赖:

providedCompile group: 'javax.servlet', name: 'servlet-api', version: '2.4'
providedCompile group: 'javax.servlet', name: 'jsp-api', version: '2.0'
compile group: 'javax.servlet', name: 'jstl', version: '1.1.+'


在 Tomcat/common/libs 中,我有这些 jar :

Tomcat 5.5\common\lib

23.09.2002 12:23 45˙386 activation.jar
05.03.2007 17:26 112˙341 commons-el.jar
05.03.2007 17:26 1˙213˙732 jasper-compiler-jdt.jar
05.03.2007 17:26 408˙133 jasper-compiler.jar
05.03.2007 17:26 76˙844 jasper-runtime.jar
05.03.2007 17:26 50˙952 jsp-api.jar
29.08.2005 22:28 358˙085 LOG4J-1.2.12.JAR
12.10.2004 13:20 347˙137 mail-1.3.2.jar
05.03.2007 17:26 163˙490 naming-factory-dbcp.jar
05.03.2007 17:26 31˙963 naming-factory.jar
05.03.2007 17:26 47˙730 naming-resources.jar
05.03.2007 17:26 99˙235 servlet-api.jar


在构建的 WAR 中,唯一相关的 JAR 文件是 jstl-1.1.2.jar

最佳答案

我的猜测是你必须在你的 war 文件中包含 both api 和 jSTL impl。 jSTL 实现很少,例如 herehere .不幸的是,我不知道如何强制 gradle 为你做这件事。

关于java - Tomcat 5.5 Servlet/JSP/JSTL 依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6354492/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com