我将我的Glassfish应用程序迁移到Wildfly,并且似乎与Primefaces 5.1 JSF和Wildfly的捆绑版本存在兼容性错误。当我去部署时,我收到以下错误:
Caused by: java.lang.RuntimeException: java.lang.RuntimeException: java.lang.VerifyError: (class: org/primefaces/component/api/UIData, method: getDataModel signature: )Ljavax/faces/model/DataModel;) Incompatible argument to function
at io.undertow.servlet.core.DeploymentManagerImpl.deploy(DeploymentManagerImpl.java:219)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.startContext(UndertowDeploymentService.java:87)
at org.wildfly.extension.undertow.deployment.UndertowDeploymentService.start(UndertowDeploymentService.java:72)
at org.jboss.msc.service.ServiceControllerImpl$StartTask.startService(ServiceControllerImpl.java:1948) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
at org.jboss.msc.service.ServiceControllerImpl$StartTask.run(ServiceControllerImpl.java:1881) [jboss-msc-1.2.2.Final.jar:1.2.2.Final]
... 3 more
有没有其他人收到此错误?任何帮助是极大的赞赏。
答案 0 :(得分:0)
真正的答案是JSF API / Impl并未作为jboss-deployment-structure中的依赖项包含在内。这导致了各种链接错误。一旦我将以下内容添加到文件中的部署/子部署中,就会启动应用程序。
<dependencies>
<module name="javax.faces.api" />
<module name="com.sun.jsf-impl" />
</dependencies>