В какой-то момент создания веб-приложения с использованием MyFaces мои лица-config.xml и web.xml начали бороться, но, похоже, долго после того, как я внес какие-либо изменения. Я экспериментировал с разными банками и разными конфигурациями для обоих, но не могу ничего установить правильно. Хотя я чувствую, что я попробовал все (кроме решения), вот один пример кода:Проблемы с конфигурацией web.xml/faces-config.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>
интро лицами-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. Спасибо! Спасибо!
Спасибо! С вашего поста я обнаружил 3 ошибки, вызвавших это. Для кого-либо еще сначала убедитесь, что в ваших xml-файлах нет странных символов/пробелов, а затем убедитесь, что ваши банки не конфликтуют (уточняет, как ваше развертывание обрабатывает размноженные JSF-реализации), а затем убедитесь, что в папке lib есть папка ваш каталог WEB-inf. Я должен был вручную загрузить в некоторых баночках, чтобы зарегистрировать Application Factory – Glenninator