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

时间:2018-02-19 13:32:30

标签: java jetty embedded-jetty

我打开了一个上一张票(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文件中。

所有其他信息都可以在上一张票中找到 我尝试了几件事,所以我现在卡住了。

知道什么可能出错吗? 谢谢,

1 个答案:

答案 0 :(得分:1)

小心放置jstl.jar文件的位置,以及如何声明WebAppContext自己的ClassLoader。这很重要。

TldScanner需要很多东西,如果其中任何一个都不正确,则找不到taglib(包括jstl标准taglib)

请参阅: