我的耳朵(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。
我错过了什么?
答案 0 :(得分:3)
我在 WildFly 8.2.0.Final 中遇到了类似的问题,让它工作的方法只是在 jboss-deployment-structure.xml 中添加: (添加插槽和导出属性)
<dependencies>
<module name="org.primefaces" slot="main" export="true"/>
</dependencies>