gpt4 book ai didi

java - Jetty - 使用 JSP 将 WAR 部署到嵌入式 Jetty

转载 作者:行者123 更新时间:2023-12-02 11:37:00 24 4
gpt4 key购买 nike

我打开了之前的票证 ( Deploying existing WAR to embedded Jetty ),指出我在将 WAR(包含 JSP 页面)部署到 Jetty 时遇到问题。看来我接受的解决方案不起作用(我被困住了,当时我很高兴我得到了一个不同的异常)。

所以我得到了以下异常:

An error occurred at line: [52] in the generated java file: [/tmp/embedded-jetty-jsp/jsp/org/apache/jsp/WEB_002dINF/jsp/MainLayout_jsp.java]
Syntax error on token "<", ? expected after this token

有人建议我从 WAR 中删除 jSTL 和标准 JAR。我这样做了,并将它们添加到类路径中(但在 WAR 之外)。
现在我得到以下内容

javax.servlet.ServletException: org.apache.jasper.JasperException: /WEB-INF/jsp/MainLayout.jsp (line: 11, column: 0) 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

通常这意味着使用较旧的 JSTL(其中应用 http://java.sun.com/jSTL/core URI)。我只使用 jSTL-1.2.jar,所以在我的例子中,这意味着找不到 jSTL JAR。

因此,我使用单个类来启动 Jetty,并将 JAR(如 JSTL 和标准 JAR)添加到包含该单个类的 JAR 的 MANIFEST 文件中。

所有其他信息都可以在上一张票中找到。
我尝试了几种方法,所以现在陷入困境。

知道会出什么问题吗?
谢谢,
五、

最佳答案

请小心放置 jSTL.jar 文件的位置以及声明 WebAppContext 自己的 ClassLoader 的方式。这很重要。

TldScanner 需要一堆东西,如果其中任何一个不正确,则找不到标记库(包括 jSTL 标准标记库)

参见:

关于java - Jetty - 使用 JSP 将 WAR 部署到嵌入式 Jetty,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48867353/

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