3

我创建了 2 个 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: 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>

非常感谢任何建议。

4

2 回答 2

8

我认为您需要在主 web.xml 中提及 web-app_3_0.xsd 架构,该架构也会自动加载 web-common_3_0.xsd。这个常见的模式有像 session-config> 这样的元素

<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">
于 2012-01-24T19:11:22.213 回答
2

第一个错误使它看起来/Users/sparkyspider/Tomcat/apache-tomcat-7.0.12/conf/Catalina/localhost/fxserver2.xml要么找不到要么是空的。(“第 1 行第 1 列”位让我觉得它是空的。)确保该文件存在,有内容,并且具有适当的访问权限,以便可以读取它。

于 2012-01-24T17:53:04.053 回答