我正在尝试将EAR部署到Glassfish,它在EAR中使用JSF和WAR文件faces-config.xml
,即在WEB-INF下。但是当我尝试部署到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文件,因为它很大而且仅供参考,我正在尝试部署Duke的书店Oracle示例Java EE应用程序,但我遇到了这个错误。我尝试在Google上搜索,但没有得到任何有用的结果。你能帮助我吗?如果需要,我可以提供更多信息。
我的faces-config.xml可以在这里找到:http://temp-share.com/show/gFHKBRxsY
答案 0 :(得分:0)
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">
实际上与您在问题中发布的相同:)