0

我有一只耳朵 ( Selene.ear),其中包含战争 ( SeleneWar.war)。

当我放入primefaces-5.0.jar程序Selene.war集 (in 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 启动时没有错误;如果我删除模块文件夹,那么它会开始抱怨缺少依赖项)。但是,如果我从战争程序集中删除 primefaces jar,则不会处理 primefaces 标签,因此看起来这些类不可用。

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

我错过了什么?

4

1 回答 1

3

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

<dependencies>          
    <module name="org.primefaces" slot="main" export="true"/>  
</dependencies> 
于 2015-02-27T03:15:44.883 回答