我创建了2个maven项目,一个 Web应用程序 fxserver2 和一个 Web库 SleepyFox 。
然后我在 SleepyFox <中创建了 src / main / resources / META-INF / web-fragment.xml 文件/ strong>我希望自动“加入” fxserver web.xml
不幸的是,我收到的错误如下:
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)
第二个错误似乎表明正确读取了正确的文件,但我不知道为什么它会给我一个过早的文件错误结束。
我收录了 fxserver2 web.xml
<?xml version="1.0"?>
<web-app>
<session-config>
<session-timeout>
30
</session-timeout>
</session-config>
</web-app>
还有我的 SleepyFox web-fragment.xml
<web-fragment>
<listener>
<listener-class>com.foxbomb.fxserver2.ApplicationContext</listener-class>
</listener>
</web-fragment>
任何建议都非常感谢。
答案 0 :(得分:9)
我认为您需要在主web.xml中提及web-app_3_0.xsd架构,该架构还会自动加载web-common_3_0.xsd。此常见架构包含session-config&gt;
等元素<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">
答案 1 :(得分:2)
第一个错误使/Users/sparkyspider/Tomcat/apache-tomcat-7.0.12/conf/Catalina/localhost/fxserver2.xml
看起来无法找到或为空。 (“第1行第1列”位使我认为它是空的。)确保文件存在,具有内容,并具有适当的访问权限,以便可以读取。