Java 为什么,在处理Web片段时,我会得到一个;“文件过早结束”;错误
我创建了两个maven项目,一个web应用程序fxserver2和一个web库SleepyFox 然后,我在SleepyFox中创建了一个src/main/resources/META-INF/web fragment.xml文件,我希望该文件自动“包含”到我的fxserver web.xml 不幸的是,我遇到了如下错误:Java 为什么,在处理Web片段时,我会得到一个;“文件过早结束”;错误,java,tomcat,servlet-3.0,Java,Tomcat,Servlet 3.0,我创建了两个maven项目,一个web应用程序fxserver2和一个web库SleepyFox 然后,我在SleepyFox中创建了一个src/main/resources/META-INF/web fragment.xml文件,我希望该文件自动“包含”到我的fxserver web.xml 不幸的是,我遇到了如下错误: 24-Jan-2012 19:38:50 org.apache.catalina.startup.HostConfig deployDescriptor INFO: Depl
24-Jan-2012 19:38:50 org.apache.catalina.startup.HostConfig deployDescriptor
INFO: Deploying configuration descriptor fxserver2.xml from /Users/sparkyspider/Tomcat/apache-tomcat-7.0.12/conf/Catalina/localhost
24-Jan-2012 19:38:50 org.apache.tomcat.util.digester.Digester fatalError
SEVERE: Parse Fatal Error at line 1 column 1: Premature end of file.
org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.fatalError(ErrorHandlerWrapper.java:174)
然后
24-Jan-2012 19:38:50 org.apache.catalina.startup.ContextConfig parseWebXml
SEVERE: Parse error in application web.xml file at jndi:/localhost/fxserver2/WEB-INF/lib/SleepyFox-0.9.jar!/META-INF/web-fragment.xml
org.xml.sax.SAXParseException: Premature end of file.
at com.sun.org.apache.xerces.internal.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:195)
第二个错误似乎表明确实正在读取正确的文件,但我不知道为什么它会给我一个过早的文件结束错误
我包括了我的fxserver2web.xml
30
还有我的SleepyFoxWebFragment.xml
com.foxbomb.fxserver2.ApplicationContext
非常感谢您的建议。第一个错误使它看起来像
/Users/sparkyspider/Tomcat/apache-Tomcat-7.0.12/conf/Catalina/localhost/fxserver2.xml
或者找不到或者是空的。(第1行第1列中的“1”位让我觉得它是空的。)确保文件存在,有内容,并具有适当的访问权限,以便可以读取。我认为您需要在主web.xml中提到web-app_3_0.xsd模式,它也会自动加载web-common_3_0.xsd。此公共架构包含会话配置>
<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_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">
噢,我在Maven中使用Tomcat 7。我也遇到了同样的问题,不知怎么的,mywar.xml在/conf/Catalina/localhost/mywar.xml中是空的。因此,只需删除xml文件或重命名即可。如果您没有权限,只需重命名war文件即可。
<web-fragment>
<listener>
<listener-class>com.foxbomb.fxserver2.ApplicationContext</listener-class>
</listener>
</web-fragment>
<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_3_0.xsd"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee
http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd"
version="3.0">