我打开了一个上一张票(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文件中。
所有其他信息都可以在上一张票中找到 我尝试了几件事,所以我现在卡住了。
知道什么可能出错吗?
谢谢,
诉
答案 0 :(得分:1)
小心放置jstl.jar文件的位置,以及如何声明WebAppContext自己的ClassLoader。这很重要。
TldScanner需要很多东西,如果其中任何一个都不正确,则找不到taglib(包括jstl标准taglib)
请参阅: