我试图部署到EAR到Glassfish,它在EAR内使用JSF和WAR文件,在WEB-INF下有faces-config.xml
ie。但是当我尝试部署到Glassfish服务器时,我得到以下例外:
java.lang.IllegalStateException: ContainerBase.addChild: start
org.apache.catalina.LifecycleException: java.lang.RuntimeException:
com.sun.faces.config.ConfigurationException:
java.util.concurrent.ExecutionException:
com.sun.faces.config.ConfigurationException:
Unable to parse document 'jndi:/server/WEB-INF/faces-config.xml': null
我不确定是什么问题,Eclipse在编写faces-config.xml时没有给我任何错误,但是Glassfish给出了上述错误。是的,我在WEB-INF文件夹中有faces-config.xml。
以下是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">
<!-- there are other elements here -->
</faces-config>
我不能发布整个xml文件,因为它是巨大的,供参考,我正试图部署杜克的书店Oracle示例Java EE应用程序,但我被这个错误困住了。我试着在谷歌上搜索,但没有得到任何有用的结果。你能帮我一下吗?如果需要,我可以提供更多的信息。
My faces-config.xml可以在这里找到:http://temp-share.com/show/gFHKBRxsY
您的faces-config.xml
可能有问题。
也许你错过了一个>
或类似的东西。
您必须发布或链接到文件以提供更多信息。
更新:
当你链接到你实际的faces-config.xml时,我可以看到文件的开头与你发布的不一样。
在你的文件中有:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config xmlns="http://xmlns.jcp.org/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">
错误在第二行…XML命名空间错误
你必须把它改成:
<?xml version='1.0' encoding='UTF-8'?>
<faces-config version="2.0"
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">
实际上与您在问题中发布的相同:)