无法从战争中访问primefaces模块

时间:2014-09-16 10:22:14

标签: primefaces wildfly-8 server-configuration

我的耳朵(Selene.ear)包含一场战争(SeleneWar.war)。

当我将primefaces-5.0.jar放入Selene.war程序集(WEB-INF/lib)时,我在使用该功能时没有任何问题。无论如何,我是精简部署的粉丝,我已经尝试将primefaces设置为WildFly模块。

1)在wildfly / modules中,我确实创建了文件夹org/primefaces/main。我放了primefaces-5.0.jar和以下module.xml

<module xmlns="urn:jboss:module:1.3" name="org.primefaces">
  <resources>
    <resource-root path="primefaces-5.0.jar"/>
  </resources>

  <dependencies>
    <module name="javaee.api"/>
    <module name="javax.faces.api"/>
  </dependencies>
</module>

2)在selene.ear META-INF中,我添加了以下jboss-deployment-structure.xml

<jboss-deployment-structure>
  <ear-subdeployments-isolated>true</ear-subdeployments-isolated>
  <sub-deployment name="SeleneWar.war">
    <dependencies>
      <module name="org.primefaces"/>
    </dependencies>
    <local-last value="true" />
  </sub-deployment>
</jboss-deployment-structure>

似乎一切正常(Wildfly开始没有错误;如果我删除模块文件夹,那么它开始抱怨缺少的依赖项)。然而,如果我从war程序集中删除了primefaces jar,那么primefaces标签没有被处理,所以看起来这些类是不可用的。

我在Linux上使用Java 7上的WildFly 8.1。

我错过了什么?

1 个答案:

答案 0 :(得分:3)

我在 WildFly 8.2.0.Final 中遇到了类似的问题,让它工作的方法只是在 jboss-deployment-structure.xml 中添加: (添加插槽导出属性)

<dependencies>          
    <module name="org.primefaces" slot="main" export="true"/>  
</dependencies>