diff --git a/src/main/resources/META-INF/resources/freya-layout/js/layout.js b/src/main/resources/META-INF/resources/freya-layout/js/layout.js
index b7c812e..ee28ba6 100644
--- a/src/main/resources/META-INF/resources/freya-layout/js/layout.js
+++ b/src/main/resources/META-INF/resources/freya-layout/js/layout.js
@@ -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();
diff --git a/src/main/resources/META-INF/resources/js/layout.js b/src/main/resources/META-INF/resources/js/layout.js
index b7c812e..ee28ba6 100644
--- a/src/main/resources/META-INF/resources/js/layout.js
+++ b/src/main/resources/META-INF/resources/js/layout.js
@@ -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();
diff --git a/src/main/resources/META-INF/resources/resources/freya-layout/js/layout.js b/src/main/resources/META-INF/resources/resources/freya-layout/js/layout.js
index b7c812e..ee28ba6 100644
--- a/src/main/resources/META-INF/resources/resources/freya-layout/js/layout.js
+++ b/src/main/resources/META-INF/resources/resources/freya-layout/js/layout.js
@@ -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();
diff --git a/src/main/resources/META-INF/unionflow.taglib.xml b/src/main/resources/META-INF/unionflow.taglib.xml
index 6942d59..2b6331f 100644
--- a/src/main/resources/META-INF/unionflow.taglib.xml
+++ b/src/main/resources/META-INF/unionflow.taglib.xml
@@ -1,9 +1,9 @@
-
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee
+ https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_0.xsd"
+ version="4.0">
http://unionflow.lions.dev/jsf
unionflow
diff --git a/src/main/resources/application.properties b/src/main/resources/application.properties
index dfd815b..11b4808 100644
--- a/src/main/resources/application.properties
+++ b/src/main/resources/application.properties
@@ -115,3 +115,19 @@ unionflow.security.password.min-length=${PASSWORD_MIN_LENGTH:8}
unionflow.security.password.require-special-chars=${PASSWORD_REQUIRE_SPECIAL:true}
unionflow.security.max-login-attempts=${MAX_LOGIN_ATTEMPTS:5}
unionflow.security.lockout-duration=${LOCKOUT_DURATION:300}
+
+# ===================================================================================================
+# Configuration Quarkus Arc CDI - Intégration avec JSF/MyFaces
+# ===================================================================================================
+# Active le mode découverte de beans pour permettre à Arc de gérer tous les beans CDI et JSF
+quarkus.arc.unremovable-types=jakarta.faces.application.Application,jakarta.faces.context.FacesContext,jakarta.enterprise.context.Conversation
+
+# Permet à Arc de détecter et gérer les beans avec annotations JSF custom scopes (@ViewScoped, etc.)
+quarkus.arc.detect-unused-false-positives=true
+
+# Force Arc à gérer les beans même s'ils ne sont pas référencés directement
+quarkus.arc.remove-unused-beans=false
+
+# Active le support complet CDI pour JSF Expression Language (EL)
+# Cela permet à MyFaces d'utiliser Arc BeanManager pour résoudre #{bean.property}
+quarkus.arc.auto-inject-fields=true
diff --git a/src/main/webapp/WEB-INF/beans.xml b/src/main/webapp/WEB-INF/beans.xml
index c02d76e..61c5ed0 100644
--- a/src/main/webapp/WEB-INF/beans.xml
+++ b/src/main/webapp/WEB-INF/beans.xml
@@ -1,7 +1,8 @@
-
diff --git a/src/main/webapp/WEB-INF/faces-config.xml b/src/main/webapp/WEB-INF/faces-config.xml
index dff33bc..edd85e8 100644
--- a/src/main/webapp/WEB-INF/faces-config.xml
+++ b/src/main/webapp/WEB-INF/faces-config.xml
@@ -1,7 +1,7 @@
-
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facesconfig_4_0.xsd">
primefaces_freya
diff --git a/src/main/webapp/WEB-INF/primefaces-freya.taglib.xml b/src/main/webapp/WEB-INF/primefaces-freya.taglib.xml
index 74ebdaa..b89426b 100644
--- a/src/main/webapp/WEB-INF/primefaces-freya.taglib.xml
+++ b/src/main/webapp/WEB-INF/primefaces-freya.taglib.xml
@@ -1,8 +1,8 @@
-
+ xsi:schemaLocation="https://jakarta.ee/xml/ns/jakartaee https://jakarta.ee/xml/ns/jakartaee/web-facelettaglibrary_4_0.xsd"
+ version="4.0">
http://primefaces.org/freya
@@ -29,7 +29,7 @@
binding
false
- javax.faces.component.UIComponent
+ jakarta.faces.component.UIComponent
diff --git a/src/main/webapp/WEB-INF/web.xml b/src/main/webapp/WEB-INF/web.xml
index 7f2a462..24ecfd9 100644
--- a/src/main/webapp/WEB-INF/web.xml
+++ b/src/main/webapp/WEB-INF/web.xml
@@ -1,16 +1,23 @@
-
+
+
dashboard.xhtml
+
+
- javax.faces.STATE_SAVING_METHOD
+ jakarta.faces.STATE_SAVING_METHOD
server
- javax.faces.PROJECT_STAGE
+ jakarta.faces.PROJECT_STAGE
Development
+
+
primefaces.THEME
freya-blue-light
@@ -27,16 +34,22 @@
primefaces.LEGACY_WIDGET_NAMESPACE
false
+
+
- javax.faces.FACELETS_LIBRARIES
+ jakarta.faces.FACELETS_LIBRARIES
/WEB-INF/primefaces-freya.taglib.xml
-
- org.apache.webbeans.servlet.WebBeansConfigurationListener
-
-
- com.sun.faces.config.ConfigureListener
-
+
+
+
+
Character Encoding Filter
org.primefaces.freya.filter.CharacterEncodingFilter
@@ -45,9 +58,12 @@
Character Encoding Filter
Faces Servlet
+
+
Faces Servlet
- javax.faces.webapp.FacesServlet
+ jakarta.faces.webapp.FacesServlet
+ 1
Faces Servlet
@@ -57,6 +73,8 @@
Faces Servlet
*.xhtml
+
+
ttf
application/font-sfnt
diff --git a/src/main/webapp/resources/js/layout.js b/src/main/webapp/resources/js/layout.js
index b7c812e..ee28ba6 100644
--- a/src/main/webapp/resources/js/layout.js
+++ b/src/main/webapp/resources/js/layout.js
@@ -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();