作为嵌入式码头启动我的应用程序时出现以下错误:
Exception initializing TldLocationsCache: XML parsing error on file /WEB-INF/web.xml: (line 2, col 9): Document is invalid: no grammar found.
我的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>
启动代码:
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();
当试图缩小问题范围时,我注意到当我将与jsp相关的jar添加到类路径中时会发生这种情况。没有那些jar,我不会得到这个错误。
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
您问题中的启动代码严重不足以为JSP设置webapp。