我试图将.war存档中的Omnifaces库提取到JBoss模块,但是, org.jboss.weld.context.ContextNotActiveException: WELD-001303 No active contexts for scope type org.omnifaces.cdi.ViewScoped
存在问题。应用程序成功部署,但在第一页加载时中断。
我已经阅读过BalusC关于.war(http://balusc.blogspot.com/2013_10_01_archive.html)打包的.wars问题的报告,但我不确定它是否也适用于这种情况,因为我们有只有.war。
当Omnifaces库通过Maven作为编译时依赖项包含在.war的lib文件夹中时,一切都运行良好:
<dependency>
<groupId>org.omnifaces</groupId>
<artifactId>omnifaces</artifactId>
<version>1.7</version>
</dependency>
将依赖项设置为提供范围,创建JBoss模块并将jboss-deployment结构附加到:
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure>
<deployment>
<dependencies>
<module name="org.omnifaces" export="true" meta-inf="import"/>
<!-- i tried multiple export and meta-inf combinations -->
</dependencies>
</deployment>
</jboss-deployment-structure>
module.xml:
<?xml version="1.0" encoding="UTF-8"?>
<module xmlns="urn:jboss:module:1.0" name="org.omnifaces">
<resources>
<resource-root path="omnifaces-1.7.jar"/>
</resources>
<dependencies>
<module name="javaee.api"/>
<module name="javax.api"/>
<module name="javax.faces.api" />
</dependencies>
</module>
是否有可能以这种方式使用Omnifaces,作为JBoss模块?
答案 0 :(得分:0)
OmniFaces是一个设计为WAR模块的JSF实用程序库,而不是EAR或appserver模块。