gpt4 book ai didi

java - 尝试升级到 jetty-runner 8.1.5,在 JSTL <%@ taglib %> 导入 JSTL 标准标签时启动失败

转载 作者:搜寻专家 更新时间:2023-11-01 03:42:07 27 4
gpt4 key购买 nike

我的实际目标是得到

<%@ page trimDirectiveWhitespaces=true %>

工作。我目前正在使用 jetty-runner 7.4.2 运行我的 Web 应用程序。作为一个随机的尝试,我下载了一个更新的版本。这样,当我尝试启动我的 Web 应用程序时,我得到了这个异常:

PWC6188: The absolute uri: http://java.sun.com/jsp/jstl/core cannot be resolved in either web.xml or the jar files deployed with this application

我发现很多人都提到了这一点,但没有一个答案对我来说有任何意义。对于它的值(value),我在我的 WEB-INF/lib 目录中有一个最新的 jSTL jar 文件(当然,它与以前版本的 jetty-runner 一起工作得很好,或者至少我猜它会;我当然不会得到那个异常(exception))。

我不认为我正在运行的 .war 文件在结构上没有什么特别之处,而且它已经在 J​​etty 上(通过 jetty-runner)工作了很长时间。它也可以在 Tomcat 和 Resin 中使用,无需修改。因此,jetty-runner 版本 7 和版本 8 之间存在一些关键差异(也许是 Jetty 本身;不确定),我怀疑解决方案非常简单;我只是找不到它。

这是一个 v2.5 网络应用程序,所以我的 taglib 引用如下:

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

编辑这是我的 web.xml 中的 web-app 标签(应用程序一):

<web-app
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-app_2_5.xsd"
metadata-complete="false"
version="2.5">

最佳答案

如果您使用 Java EE 7,则必须使用 jcp namespace ,而不是 java.sun,在某些服务器中它们可以保留以保持兼容性,但由于新规范是针对 EE 7 的,而 java 不再是 sun 的一部分,因此它们是删除它,如果你使用的是 Java ee 6,你应该保留它并且不要更新到 java ee 7 compilant 服务器,或者检查具有该 namespace 的服务器,如果你想使用 EE 7,那么你必须更改所有 namespace 。错误命名空间也是一个错误的想法,因为会导致重复的 id 和各种东西

关于java - 尝试升级到 jetty-runner 8.1.5,在 JSTL <%@ taglib %> 导入 JSTL 标准标签时启动失败,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11804648/

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