Fix: Migration complète vers Jakarta EE pour résoudre BeanManager.getELResolver error
Cette migration corrige l'erreur java.lang.UnsupportedOperationException at io.quarkus.arc.impl.BeanManagerImpl.getELResolver qui empêchait le démarrage de l'application JSF/PrimeFaces sous Quarkus 3.15.1. 🔧 FICHIERS XML CORRIGÉS (javax → jakarta): - web.xml: Jakarta EE 5.0 (suppression listeners WebBeans/ConfigureListener) - primefaces-freya.taglib.xml: Jakarta EE 4.0 - unionflow.taglib.xml: Jakarta EE 4.0 - beans.xml: Jakarta EE 4.0 - faces-config.xml (WEB-INF): Jakarta EE 4.0 📝 FICHIERS JAVASCRIPT CORRIGÉS (4 fichiers): - layout.js: PrimeFaces.ajax.RESOURCE = 'jakarta.faces.Resource' (au lieu de javax.faces.Resource) ⚙️ CONFIGURATION QUARKUS ARC AJOUTÉE: - quarkus.arc.unremovable-types: Support des types JSF/CDI - quarkus.arc.remove-unused-beans=false: Préservation des beans JSF - quarkus.arc.detect-unused-false-positives=true: Support @ViewScoped - quarkus.arc.auto-inject-fields=true: Support EL resolver ✅ RÉSULTAT: Arc CDI peut maintenant fournir correctement l'ELResolver à MyFaces, permettant l'évaluation des expressions JSF #{bean.property} et le démarrage normal de l'application. 🤖 Generated with [Claude Code](https://claude.com/claude-code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -1,7 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<beans xmlns="http://xmlns.jcp.org/xml/ns/javaee"
|
||||
<beans xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/beans_1_1.xsd"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/beans_4_0.xsd"
|
||||
version="4.0"
|
||||
bean-discovery-mode="all">
|
||||
|
||||
</beans>
|
||||
|
||||
@@ -1,7 +1,7 @@
|
||||
<?xml version="1.0" encoding="utf-8"?>
|
||||
<faces-config version="2.0" xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
<faces-config version="4.0" xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_2_0.xsd">
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_0.xsd">
|
||||
|
||||
<name>primefaces_freya</name>
|
||||
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<facelet-taglib xmlns="http://java.sun.com/xml/ns/javaee"
|
||||
<facelet-taglib xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facelettaglibrary_2_0.xsd"
|
||||
version="2.0">
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_0.xsd"
|
||||
version="4.0">
|
||||
|
||||
<namespace>http://primefaces.org/freya</namespace>
|
||||
|
||||
@@ -29,7 +29,7 @@
|
||||
<description><![CDATA[An el expression referring to a server side UIComponent instance in a backing bean.]]></description>
|
||||
<name>binding</name>
|
||||
<required>false</required>
|
||||
<type>javax.faces.component.UIComponent</type>
|
||||
<type>jakarta.faces.component.UIComponent</type>
|
||||
</attribute>
|
||||
<attribute>
|
||||
<description><![CDATA[Name of the client side widget.]]></description>
|
||||
|
||||
@@ -1,16 +1,23 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<web-app version="3.0" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd">
|
||||
<web-app version="5.0" xmlns="https://jakarta.ee/xml/ns/jakartaee"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
|
||||
xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-app_5_0.xsd">
|
||||
|
||||
<welcome-file-list>
|
||||
<welcome-file>dashboard.xhtml</welcome-file>
|
||||
</welcome-file-list>
|
||||
|
||||
<!-- JSF Configuration Parameters (Jakarta namespace) -->
|
||||
<context-param>
|
||||
<param-name>javax.faces.STATE_SAVING_METHOD</param-name>
|
||||
<param-name>jakarta.faces.STATE_SAVING_METHOD</param-name>
|
||||
<param-value>server</param-value>
|
||||
</context-param>
|
||||
<context-param>
|
||||
<param-name>javax.faces.PROJECT_STAGE</param-name>
|
||||
<param-name>jakarta.faces.PROJECT_STAGE</param-name>
|
||||
<param-value>Development</param-value>
|
||||
</context-param>
|
||||
|
||||
<!-- PrimeFaces Configuration -->
|
||||
<context-param>
|
||||
<param-name>primefaces.THEME</param-name>
|
||||
<param-value>freya-blue-light</param-value>
|
||||
@@ -27,16 +34,22 @@
|
||||
<param-name>primefaces.LEGACY_WIDGET_NAMESPACE</param-name>
|
||||
<param-value>false</param-value>
|
||||
</context-param>
|
||||
|
||||
<!-- Custom Taglibs -->
|
||||
<context-param>
|
||||
<param-name>javax.faces.FACELETS_LIBRARIES</param-name>
|
||||
<param-name>jakarta.faces.FACELETS_LIBRARIES</param-name>
|
||||
<param-value>/WEB-INF/primefaces-freya.taglib.xml</param-value>
|
||||
</context-param>
|
||||
<listener>
|
||||
<listener-class>org.apache.webbeans.servlet.WebBeansConfigurationListener</listener-class>
|
||||
</listener>
|
||||
<listener>
|
||||
<listener-class>com.sun.faces.config.ConfigureListener</listener-class>
|
||||
</listener>
|
||||
|
||||
<!--
|
||||
REMOVED CONFLICTING LISTENERS:
|
||||
- org.apache.webbeans.servlet.WebBeansConfigurationListener (conflicts with Quarkus Arc)
|
||||
- com.sun.faces.config.ConfigureListener (conflicts with MyFaces)
|
||||
|
||||
Quarkus PrimeFaces extension handles CDI and JSF initialization automatically
|
||||
-->
|
||||
|
||||
<!-- Character Encoding Filter -->
|
||||
<filter>
|
||||
<filter-name>Character Encoding Filter</filter-name>
|
||||
<filter-class>org.primefaces.freya.filter.CharacterEncodingFilter</filter-class>
|
||||
@@ -45,9 +58,12 @@
|
||||
<filter-name>Character Encoding Filter</filter-name>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
</filter-mapping>
|
||||
|
||||
<!-- Faces Servlet (Jakarta namespace) -->
|
||||
<servlet>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<servlet-class>javax.faces.webapp.FacesServlet</servlet-class>
|
||||
<servlet-class>jakarta.faces.webapp.FacesServlet</servlet-class>
|
||||
<load-on-startup>1</load-on-startup>
|
||||
</servlet>
|
||||
<servlet-mapping>
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
@@ -57,6 +73,8 @@
|
||||
<servlet-name>Faces Servlet</servlet-name>
|
||||
<url-pattern>*.xhtml</url-pattern>
|
||||
</servlet-mapping>
|
||||
|
||||
<!-- Font MIME Types -->
|
||||
<mime-mapping>
|
||||
<extension>ttf</extension>
|
||||
<mime-type>application/font-sfnt</mime-type>
|
||||
|
||||
@@ -541,7 +541,7 @@ PrimeFaces.FreyaConfigurator = {
|
||||
},
|
||||
|
||||
replaceLink: function(linkElement, href) {
|
||||
PrimeFaces.ajax.RESOURCE = 'javax.faces.Resource';
|
||||
PrimeFaces.ajax.RESOURCE = 'jakarta.faces.Resource';
|
||||
|
||||
var isIE = this.isIE();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user