Я установил myfaces 2.3.6 как модуль в Wildfly 19.1.0, как описано здесь . Если я проверю с помощью jboss-cli, что по умолчанию используются myfaces, я получу правильный (2.3.6).
- Если я разверну военный файл, все в порядке.
- Если я разверну "тот же" военный файл, интегрированный в ухо, что-то идет не так, и я получаю странные исключения, что некоторые из моих веб-классов (включенных в. \ WEB-INF \ classes) не найдены:
Вызвано: java .lang.ClassNotFoundException: com.mycompany.MyBeanClass из [Module \ "com.sun.jsf-impl: myfaces-2.3.6 \" версии 2.3.6 из локального загрузчика модуля ... ]
Точно такое же ухо со встроенными библиотеками myfaces и специальным параметром org.jboss.jbossfaces.WAR_BUNDLES_JSF_IMPL, установленным в сети. xml работает должным образом.
Я кое-что упустил ? Следует ли мне изменить jboss-deployment-structure. xml или файл МАНИФЕСТА?
Дополнительная информация. \ Com \ sun \ jsf-impl \ myfaces-2.3.6 \ module. xml
<module xmlns="urn:jboss:module:1.8" name="com.sun.jsf-impl:myfaces-2.3.6">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<dependencies>
<module name="javax.faces.api:myfaces-2.3.6">
<imports>
<include path="META-INF/**"/>
</imports>
</module>
<module name="javax.annotation.api"/>
<module name="javax.servlet.api"/>
<module name="javax.servlet.jsp.api"/>
<module name="javax.websocket.api" />
<module name="javax.validation.api"/>
<module name="javax.json.api"/>
<module name="javax.ejb.api"/>
<module name="javax.xml.bind.api"/>
<module name="org.glassfish.jakarta.el"/>
<module name="javax.api"/>
<module name="javax.servlet.jstl.api"/>
<module name="org.apache.xerces" services="import"/>
<module name="org.apache.xalan" services="import"/>
<module name="org.jboss.weld.core"/>
<module name="org.jboss.weld.spi"/>
<!-- extra dependencies for MyFaces -->
<module name="org.apache.commons.collections"/>
<module name="org.apache.commons.codec"/>
<module name="org.apache.commons.beanutils"/>
<module name="org.apache.commons.digester"/>
</dependencies>
<resources>
<resource-root path="myfaces-impl-2.3.6.jar"/>
</resources>
</module>
. \ Javax \ faces \ api \ myfaces-2.3.6 \ module. xml
<module xmlns="urn:jboss:module:1.8" name="javax.faces.api:myfaces-2.3.6">
<dependencies>
<module name="javax.enterprise.api" export="true"/>
<module name="javax.servlet.api" export="true"/>
<module name="javax.servlet.jsp.api" export="true"/>
<module name="javax.servlet.jstl.api" export="true"/>
<module name="javax.validation.api" export="true"/>
<module name="org.glassfish.jakarta.el" export="true"/>
<module name="javax.api"/>
<!-- extra dependencies for MyFaces 1.1
<module name="org.apache.commons.logging"/>
<module name="org.apache.commons.el"/>
<module name="org.apache.commons.lang"/> -->
</dependencies>
<resources>
<resource-root path="myfaces-api-2.3.6.jar"/>
</resources>
</module>
. \ Org \ jboss \ as \ jsf-injection \ myfaces-2.3 .6 \ module. xml
<module xmlns="urn:jboss:module:1.5" name="org.jboss.as.jsf-injection" slot="myfaces-2.3.6">
<properties>
<property name="jboss.api" value="private"/>
</properties>
<resources>
<resource-root path="wildfly-jsf-injection-19.1.0.Final.jar"/>
<resource-root path="weld-jsf-3.1.3.Final.jar"/>
</resources>
<dependencies>
<module name="com.sun.jsf-impl" slot="myfaces-2.3.6"/>
<module name="javax.api"/>
<module name="org.jboss.as.web-common"/>
<module name="javax.servlet.api"/>
<module name="org.jboss.as.ee"/>
<module name="org.jboss.as.jsf"/>
<module name="javax.enterprise.api"/>
<module name="org.jboss.logging"/>
<module name="org.jboss.weld.core"/>
<module name="org.wildfly.security.elytron"/>
<module name="javax.faces.api" slot="myfaces-2.3.6"/>
</dependencies>
</module>
Файл МАНИФЕСТА (на ухо и на войне)
Manifest-Version: 1.0
Ant-Version: Apache Ant 1.10.5
Created-By: 11.0.6+10-LTS (Azul Systems, Inc.)
jboss-deployment-structure. xml (на ухо и на войне)
<?xml version="1.0" encoding="UTF-8"?>
<jboss-deployment-structure xmlns="urn:jboss:deployment-structure:1.1">
<deployment>
<dependencies>
<module name="org.jboss.remote-naming" export="true" />
<module name="org.infinispan.core" slot="ispn-9.4" services="export" export="true"/>
<module name="org.infinispan.commons" slot="ispn-9.4" services="export" export="true"/>
<module name="org.infinispan" slot="ispn-9.4" services="export" export="true"/>
<module name="org.jboss.xnio" export="true" />
<module name="org.jboss.remoting3" export="true" />
<module name="org.apache.cxf"/>
<module name="org.apache.cxf.impl"/>
</dependencies>
</deployment>
</jboss-deployment-structure>
веб. xml
...
<context-param>
<param-name>org.jboss.jbossfaces.JSF_CONFIG_NAME</param-name>
<param-value>myfaces-2.3.6</param-value>
</context-param>
...