我的环境:
JSF 2.3, Mojarra 2.3.9.payara-p2
总理面孔 7.0
帕亚拉 5.192
全面 3.3
Project Java EE 8 Maven
NetBeans 11.1
我创建了一个人脸流:
文件夹"flotTransfer"仅包含2个文件(目前(flotTransfert-flow.xml和flotTransfert.xhtml。
我无法部署应用程序。我收到此消息: " 加载应用程序时出现异常:java.lang.IllegalStateException: ContainerBase.addChild: start: org.apache.catalina.LifecycleException: java.lang.RuntimeException: java.lang.IllegalStateException: ID 为 "flotTransfert" 且 definingDocumentId " 的流已存在。|#] ".
我不明白为什么我会收到此错误(为什么"已经存在"?服务器上未部署其他应用程序。
浮选转移流.xml的内容:
<faces-config version="2.3"
xmlns="http://xmlns.jcp.org/xml/ns/javaee"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd">
<flow-definition id="flotTransfert">
<flow-return id="sortieFlot">
<from-outcome>/listeComptes</from-outcome>
</flow-return>
</flow-definition>
</faces-config>
如果我重命名此文件,则不会再出错,并且应用程序已部署在服务器上,但显然,人脸流不起作用。
如果我保留文件但删除文件的所有内容(我注释掉所有行(,我会收到相同的错误。
我在另一个应用程序中具有几乎相同的面孔流(只是文件夹中的页面更多(,但使用 Java EE 7 和 Payara 5.184 并且没有 OmniFaces,并且流可以工作。
抱歉,我犯了一个错误:我添加了文件 flotTransfert-flow.xml 与我的 IDE 向导,我没有注意到这个向导在文件 web.xml 中添加了一个<context-param>
,引用了流的定义文件。如果我删除此<context-param>
,一切正常。
我从网络上删除的行.xml:
<context-param>
<param-name>javax.faces.CONFIG_FILES</param-name>
<param-value>/flotTransfert/flotTransfert-flow.xml</param-value>
</context-param>