【发布时间】:2023-03-29 11:11:01
【问题描述】:
我在 JBoss WildFly 8.2.0.Final 和 JSF 2.2 和 RichFaces 4.5.2.Final 中运行 EJB + EJB + WAR 部署的 EAR。我的问题是,所有 RichFaces 资源都无法在客户端中正确加载。生成的 URL 无法解析并返回 HTTP 404。
部署建立在 Maven 之上,结果如下:
在 EJB 模块而不是 WAR 中使用 <scope>compile</scope> 的原因是我需要从我的 EJB 模块中扩展 RichFaces 类。我们已经基于一些组件构建了一个动态表单生成器。
只要我在 WAR 模块中使用 <scope>compile</scope> 而不是 <scope>provided</scope> 将 JAR 添加到 EAR/lib/ 和 WAR/WEB-INF/lib/,我就会在启动应用程序服务器时得到以下堆栈跟踪:
Caused by: java.lang.IllegalArgumentException: Multiple entries with same key: interface javax.validation.constraints.Min=org.richfaces.javascript.LibraryFunctionImplementation@c77af4e and interface javax.validation.constraints.Min=org.richfaces.javascript.LibraryFunctionImplementation@5a903150
at com.google.common.collect.ImmutableMap.checkNoConflict(ImmutableMap.java:150)
at com.google.common.collect.RegularImmutableMap.checkNoConflictInBucket(RegularImmutableMap.java:104)
at com.google.common.collect.RegularImmutableMap.<init>(RegularImmutableMap.java:70)
at com.google.common.collect.ImmutableMap$Builder.build(ImmutableMap.java:254)
at org.richfaces.javascript.ClientServiceConfigParser.parseConfig(ClientServiceConfigParser.java:75)
at org.richfaces.application.ValidatorModule.createClientScriptService(ValidatorModule.java:65)
at org.richfaces.application.ValidatorModule.configure(ValidatorModule.java:60)
at org.richfaces.application.ServicesFactoryImpl.init(ServicesFactoryImpl.java:60)
at org.richfaces.application.InitializationListener.createFactory(InitializationListener.java:110)
at org.richfaces.application.InitializationListener.onStart(InitializationListener.java:69)
at org.richfaces.application.InitializationListener.processEvent(InitializationListener.java:167)
at javax.faces.event.SystemEvent.processListener(SystemEvent.java:108)
at com.sun.faces.application.ApplicationImpl.processListeners(ApplicationImpl.java:2190)
at com.sun.faces.application.ApplicationImpl.invokeListenersFor(ApplicationImpl.java:2163)
at com.sun.faces.application.ApplicationImpl.publishEvent(ApplicationImpl.java:303)
at org.jboss.as.jsf.injection.weld.ForwardingApplication.publishEvent(ForwardingApplication.java:294)
at com.sun.faces.config.ConfigManager.publishPostConfigEvent(ConfigManager.java:692)
at com.sun.faces.config.ConfigureListener.contextInitialized(ConfigureListener.java:260)
... 9 more
我该如何解决这个问题?
【问题讨论】:
-
查看evernote.com/shard/s48/sh/c9f1b0b7-13f6-4457-b793-3cf7d20a3fac/…以获取无法启动的生成部署...
标签: jsf deployment richfaces jsf-2.2