问题
I'm getting the following error when starting my app as embedded jetty:
Exception initializing TldLocationsCache: XML parsing error on file /WEB-INF/web.xml: (line 2, col 9): Document is invalid: no grammar found.
My web.xml:
<?xml version="1.0" encoding="UTF-8"?>
<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_3_0.xsd"
version="3.0">
<welcome-file-list>
<welcome-file>index.html</welcome-file>
</welcome-file-list>
Startup code:
Server server = new Server(8080);
WebAppContext context = new WebAppContext();
context.setResourceBase("WebContent");
context.setDescriptor("/WEB-INF/web.xml");
context.setContextPath("/" + "test");
context.setParentLoaderPriority(false);
server.setHandler(context);
server.start();
server.join();
When trying to narrow down the problem I noticed that this happens when I add the jsp related jars to the classpath. Without those jars I don't get this error.
lib/jsp:
javax.el-3.0.0.jar jetty-jsp-9.2.10.v20150310.jar
javax.servlet.jsp-2.3.2.jar jetty-jsp-jdt-2.3.3.jar
javax.servlet.jsp-api-2.3.1.jar org.eclipse.jdt.core-3.8.2.v20130121.jar
javax.servlet.jsp.jstl-1.2.2.jar
org.eclipse.jetty.orbit.javax.servlet.jsp.jstl-1.2.0.v201105211821.jar
lib/apache-jsp:
org.eclipse.jetty.apache-jsp-9.2.10.v20150310.jar
org.eclipse.jetty.orbit.org.eclipse.jdt.core-3.8.2.v20130121.jar
回答1:
That startup code in your question is woefully insufficient to setup a webapp for JSP.
See prior answer: Embedded jetty webserver JSP support not configured
来源:https://stackoverflow.com/questions/29572781/embedded-jetty-unable-to-parse-web-xml-when-jsp-jars-present-in-classpath