【问题标题】:web.xml / faces-config.xml configuration issuesweb.xml / faces-config.xml 配置问题
【发布时间】:2013-03-12 21:45:28
【问题描述】:

在使用 MyFaces 制作 Web 应用程序的某个时候,我的 faces-config.xml 和 web.xml 开始发生冲突,但似乎在我做出任何更改之后很久。我一直在尝试不同的罐子和不同的配置,但无法正确安装任何东西。虽然我觉得我已经尝试了所有方法(解决方案除外),但这里有一个代码实例:

web.xml:

    <?xml version="1.0" encoding="UTF-8"> 
<web-app version="2.5" 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_2_5.xsd">
<session-config>
    <session-timeout>
        30
    </session-timeout>
</session-config>
<welcome-file-list>
    <welcome-file>index.jsp</welcome-file>
</welcome-file-list>

faces-config.xml 简介:

<?xml version="1.0" encoding="UTF-8"?>
<faces-config
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-facesconfig_2_0.xsd"
version="2.0">

我收到此错误:

SEVERE [org.apache.commons.digester.Digester] (MSC service thread 1-2) Parse Error at line 2 column 14: 
Document is invalid: no grammar found.: org.xml.sax.SAXParseException: Document is invalid: no grammar found.
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:196)
at org.apache.xerces.util.ErrorHandlerWrapper.error(ErrorHandlerWrapper.java:132)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:390)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:322)
at org.apache.xerces.impl.XMLErrorReporter.reportError(XMLErrorReporter.java:281)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl.scanStartElement(XMLNSDocumentScannerImpl.java:136)
at org.apache.xerces.impl.XMLNSDocumentScannerImpl$NSContentDispatcher.scanRootElementHook(XMLNSDocumentScannerImpl.java:733)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl$FragmentContentDispatcher.dispatch(XMLDocumentFragmentScannerImpl.java:1754)
at org.apache.xerces.impl.XMLDocumentFragmentScannerImpl.scanDocument(XMLDocumentFragmentScannerImpl.java:324)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:845)
at org.apache.xerces.parsers.XML11Configuration.parse(XML11Configuration.java:768)
at org.apache.xerces.parsers.XMLParser.parse(XMLParser.java:108)
at org.apache.xerces.parsers.AbstractSAXParser.parse(AbstractSAXParser.java:1196)
at org.apache.xerces.jaxp.SAXParserImpl$JAXPSAXParser.parse(SAXParserImpl.java:555)
at org.apache.commons.digester.Digester.parse(Digester.java:1745) [commons-digester-1.8.jar:]
at org.apache.myfaces.config.impl.digester.DigesterFacesConfigUnmarshallerImpl.getFacesConfig(DigesterFacesConfigUnmarshallerImpl.java:197) [myfaces-impl-1.1.8.jar:]

还有:

    SEVERE [org.apache.commons.digester.Digester] (MSC service thread 1-2) Parse Error at line 2 column 14: 
Document root element "faces-config", must match DOCTYPE root "null".: org.xml.sax.SAXParseException: Document root element "faces-config", must match DOCTYPE root "null".
at org.apache.xerces.util.ErrorHandlerWrapper.createSAXParseException(ErrorHandlerWrapper.java:196)

我对为什么这不起作用而发疯。为什么很明显,我错过了它?还是这些文件不存在问题所以我应该尝试更改我的罐子?我正在使用 JBOSS 7 进行部署。谢谢! 谢谢!

【问题讨论】:

    标签: xml xml-parsing jboss7.x web.xml faces-config


    【解决方案1】:

    我完全没有使用 MyFaces 的经验,但是通过查看我在网上看到的其他一些帖子(并且因为您在初始 XML 的开头有一些空格),我会确保没有' t XML 文档中可能导致问题的任何隐藏字符或额外空格。

    另外,我可能会查看 faces-config.xml 的根元素中的值是否正确。具体来说,我会检查您的 xsi:schemaLocation 属性的值。我不太熟悉特定 XML 解析器的工作原理,但从您的异常情况来看,它可能正在尝试使用提供的 URL 验证架构并失败。看起来您指定了两个 URL,这可能不是有效的标记。第二个 URL 实际上确实解析为有效的 XSD 定义文件。尝试将其限制为那个 URL,看看是否有任何改变。

    希望有帮助!

    编辑:原来我可能被误导了。 xsi:schemaLocation 元素可以有两个由空格分隔的值。第二个必须是有效的模式文件。我会检查它们实际上是否间隔正确。从您的回答看来,它们可能是,但值得一试。

    【讨论】:

    • 谢谢!从您的帖子中,我发现导致此问题的 3 个错误。对于其他任何人,首先确保您的 xml 文件中没有奇怪的字符/空格,然后确保您的 jar 不冲突(找出您的部署如何处理多个 JSF 实现),然后确保有一个 lib 文件夹您的 WEB-inf 目录。我不得不手动加载一些罐子来注册应用程序工厂
    猜你喜欢
    • 1970-01-01
    • 2013-12-24
    • 2016-02-13
    • 2018-11-03
    • 1970-01-01
    • 1970-01-01
    • 2016-10-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多