启动tomcat时出现错误:
javax.servlet.UnavailableException:org.xml.sax.SAXParseException:前缀" xsi" for attribute" xsi:schemaLocation"与元素类型相关联" web-app"不受约束。
我正在尝试将我的Java(Maven Based)项目部署到我的Tomcat 8服务器上并启动它。清理完所有项目并构建工作区后;删除每个项目上的所有构建路径错误后。当我尝试在tomcat中部署项目并启动它时,我得到以下错误:
Apr 02, 2018 1:29:22 PM org.apache.catalina.core.StandardContext loadOnStartup
SEVERE: Servlet [action] in web application [/bss] threw load() exception
javax.servlet.UnavailableException: org.xml.sax.SAXParseException: The prefix "xsi" for attribute "xsi:schemaLocation" associated with an element type "web-app" is not bound.
at org.apache.struts.action.ActionServlet.init(ActionServlet.java:402)
at javax.servlet.GenericServlet.init(GenericServlet.java:158)
at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1227)
at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1140)
我不确定是什么导致了这个问题,哪个jar完全没有,这将解决这个问题。
答案 0 :(得分:0)
您很可能错过了xsi
文件中web.xml
命名空间的声明。将xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
添加到web-app
元素。例如:
<web-app
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns="http://java.sun.com/xml/ns/javaee"
xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"
version="2.5">
<!-- ... -->
</web-app>