Omnifaces作为JBoss AS7模块

时间:2014-03-25 10:37:21

标签: jsf jboss module cdi omnifaces

我试图将.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模块?

1 个答案:

答案 0 :(得分:0)

OmniFaces是一个设计为WAR模块的JSF实用程序库,而不是EAR或appserver模块。